Загрузка ресурсов определенного типа или категории с помощью точки расширения для загрузки ресурсов

С помощью точки расширения для загрузки ресурсов в клиенте IBM® Rational Asset Manager Eclipse можно создавать программы импорта ресурсов определенного типа или категории.

Об этой задаче

Стандартная реализация
Rational Asset Manager содержит стандартную программу импорта, активированную для всех ресурсов. Она импортирует ресурсы с сервера в рабочую область Eclipse. Но пользователь может создать свою программу импорта, предназначенную для определенных ресурсов, с помощью описанной в разделе точки расширения.

При выполнении условий для использования нестандартной программы импорта будет доступен список мастеров, позволяющих загрузить ресурсы с сервера.

Формат конфигурации
<!ELEMENT extension (downloadContributor+)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name  CDATA #IMPLIED>
assetType
В следующем условии указан тип ресурса для сравнения. Значение id указывает отображаемое имя типа ресурса.
<!ELEMENT assetType EMPTY>
<!ATTLIST assetType
id CDATA #REQUIRED>
assetCategory
В следующем условии указана категория ресурса для сравнения. Значение id указывает отображаемое имя категории вместе со всей иерархией родительских категорий, разделенных символом /.
<!ELEMENT assetCategory EMPTY>
<!ATTLIST assetCategory
id CDATA #REQUIRED>
artifactPath
Пробный API: Это пробный API, который будет удален в последующих версиях. В следующем условии указан путь к артефактам для сравнения. Значение path указывает путь к артефактам в формате регулярного выражения.
<!ELEMENT artifactPath EMPTY>
<!ATTLIST artifactPath
path CDATA #REQUIRED>
Точка расширения
Следующая точка расширения служит для добавления программы импорта ресурсов в зависимости от их типа и категории. Для class дополняющие классы должны развернуть класс com.ibm.ram.rich.ui.downloadasset.AbstractDownloadAssetContributor, указывающий экземпляр, который будет импортировать ресурсы в формате потоков файлов RAS.
<!ELEMENT downloadContributor (enablement?)>
<!ATTLIST downloadContributor
class CDATA #REQUIRED>
and
Следующий элемент выполняет логическую операцию AND над дочерними условиями.
<!ELEMENT and ((assetType  | (and  | or  | not  | assetCategory  | artifactPath)+) | (and  | or  | not  | assetCategory  | artifactPath))>
or
Следующий элемент выполняет логическую операцию OR над дочерними условиями.
<!ELEMENT or (and  | or  | not  | assetType  | assetCategory  | artifactPath)>
not
Следующий элемент выполняет логическую операцию NOT над дочерними условиями.
<!ELEMENT not (and  | or  | not  | assetType  | assetCategory  | artifactPath)>

Пример

В следующем условии дополняющий класс указывает класс, который будет активирован при выполнении условий активации. Сложные условия активации можно указать с помощью комбинации логических операторов and, or и not.

<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>

Комментарии