アセット・ダウンロード拡張ポイントによる特定のタイプまたはカテゴリーのアセットのダウンロード

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

以下の例の場合、コントリビューターは、enablement の条件と一致した場合にアクティブ化されるクラスを提供しています。 andor、および not の論理演算子を組み合わせて使用することで、複雑な enablement の条件を指定することができます。

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

フィードバック