Si se cumplen los criterios para utilizar un importador personalizado, el usuario puede seleccionar de entre varios asistentes para descargar los activos desde el servidor.
<!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)>
En el ejemplo siguiente, el colaborador proporciona la clase que se activará cuando se cumplan las condiciones de habilitación. Puede utilizar una combinación de los operadores lógicos and, or y not para especificar condiciones de habilitación complejas.
<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>