If the criteria for a custom importer are met, the user is given a choice of wizards to use to download the assets from the server.
<!ELEMENT extension (downloadContributor+)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT assetType EMPTY>
<!ATTLIST assetType
id CDATA #REQUIRED>
<!ELEMENT assetCategory EMPTY>
<!ATTLIST assetCategory
id CDATA #REQUIRED>
<!ELEMENT artifactPath EMPTY>
<!ATTLIST artifactPath
path CDATA #REQUIRED>
<!ELEMENT downloadContributor (enablement?)>
<!ATTLIST downloadContributor
class CDATA #REQUIRED>
<!ELEMENT and ((assetType | (and | or | not | assetCategory | artifactPath)+) | (and | or | not | assetCategory | artifactPath))>
<!ELEMENT or (and | or | not | assetType | assetCategory | artifactPath)>
<!ELEMENT not (and | or | not | assetType | assetCategory | artifactPath)>
In the following example, the contributor provides the class which will be activated when the enablement conditions are met. Complex enablement conditions can be specified using a combination of and, or and not logical operators.
<extension
point="com.ibm.ram.rich.ui.extension.downloadAsset">
<downloadContributor
class="com.ibm.ram.rich.ui.test.downloadasset.RASDownloadContributor">
<enablement>
<or>
<assetType
id="Service Test">
</assetType>
<assetCategory
id="Automobiles/Color/Red">
</assetCategory>
<and>
<assetCategory
id="Automobiles/Color/Red">
</assetCategory>
<not>
<artifactPath
path="/[^/]*/plugin.xml">
</artifactPath>
</not>
</and>
</or>
</enablement>
</downloadContributor>
</extension>