変換構成へのページの追加

変換構成のカスタム・ページを作成することができます。 このようなページを作成して、変換の拡張に追加するプロパティーの値をユーザーが指定できるようにすることができます。 変換のユーザーが拡張された変換の変換構成を作成する際に、変換構成エディターまたは変換構成ウィザードに新規ページが表示されます。
始める前に

変換の作成者は、ターゲット変換を変換サービスに登録する必要があります。 変換の拡張で、「新規構成」タブに関連付けられるプロパティーを定義する必要があります。

カスタムの変換構成ページの作成者は、これらのユーザー・インターフェース成果物を含むワークスペースでプロジェクトを特定する必要があります。新規ページを実装する Java™コードを含むプロジェクトを作成したり、変換の拡張を含む既存のプロジェクトでページを定義したりすることができます。
注: このトピックの例では、変換の拡張とは異なるプラグインでカスタム・ページを定義する場合を想定しています。
このトピックで取り上げたユーザー・インターフェース・クラスについて詳しくは、「Rational® Transformation デベロッパー・ガイド (Rational Transformation Developer Guide)」の『変換 UI (Transformation UI)』セクションを参照してください。
注: Eclipse 文書または開発者ガイドへのリンクなどの、いくつかの情報は製品ヘルプ内のトピックからのみ使用可能です。
このタスクについて

変換構成にページを追加するには、以下のようにします。

  1. カスタム・ページを含めるために特定したプロジェクトで、次の Java クラスを作成します。
    • com.ibm.xtools.transform.ui.AbstractExtensionGUI クラスを拡張するクラス
    • 変換構成に提供する各ページで、com.ibm.xtools.transform.ui.AbstractTransformExtensionConfigTab クラスを拡張するクラス
  2. 「ウィンドウ」 > 「パースペクティブを開く」 > 「Java」とクリックして、Java パースペクティブに切り替えます。
  3. パッケージ・エクスプローラー」ビューで、ステップ 1 で作成した Java クラスをダブルクリックします。これにより、com.ibm.xtools.transform.ui.AbstractExtensionGUI クラスが拡張されます。
  4. Java ファイル・エディターで、Java コードを指定して、getConfigurationTabs(ITransformationDescriptor descriptor, ITransformExtension extension) という名前のメソッドをオーバーライドします。このメソッドは、変換構成エディターまたは変換構成ウィザードに表示されるページのリストを返します。 次のコード・フラグメントを例として使用できます。
    public AbstractTransformExtensionConfigTab[] getConfigurationTabs(
    			ITransformationDescriptor descriptor, ITransformExtension extension ) {
    
    		AbstractTransformExtensionConfigTab[] superTabs =
    			super.getConfigurationTabs(descriptor, extension);
    		
    		AbstractTransformExtensionConfigTab[] myTabs =
    			new AbstractTransformExtensionConfigTab[superTabs.length + 1];
    		
    		for (int i = 0; i < superTabs.length; i++) {
    			myTabs[i] = superTabs[i];
    		}
    		
    		myTabs[myTabs.length - 1] = new MyTab(descriptor, "My tab ID", "My tab label", extension);
    		return myTabs;
    	}
  5. ステップ 1 で作成した、com.ibm.xtools.transform.ui.AbstractTransformExtensionConfigTab クラスを拡張する各クラスに、populateContext、populateTab、および createContents という名前の継承メソッドを実装します。次に例を示します。
    public Control createContents(Composite parent) {
    		Composite contents = new Composite(parent, SWT.None);
    		contents.setLayout(new GridLayout());
    		text = new Text(contents, SWT.None);
    		text.addModifyListener(new ModifyListener() {
    			public void modifyText(ModifyEvent e) {
    				setDirty();
    			}
    		});
    		
    		return contents;
    	}
    
    	public void populateContext(ITransformContext context) {
    		context.setPropertyValue("MyPropertyId", text.getText());
    	}
    
    	public void populateTab(ITransformContext context) {
    		String newText = (String) context.getPropertyValue("MyPropertyId");
    		if (newText == null) {
    			newText = "";
    		}
    
    		text.setText(newText);
    	}
  6. 「ファイル」 > 「保存」とクリックし、プロジェクトをビルドし直します。
  7. 「ウィンドウ」 > 「パースペクティブを開く」 > 「その他」 > 「プラグイン開発」とクリックし、プラグイン開発パースペクティブを開きます。
  8. 「パッケージ・エクスプローラー」ビューで、カスタム・ページを作成する変換の拡張を含むプロジェクト名を拡張します。
  9. 変換の拡張を含む、プロジェクトの META-INF フォルダーで、カスタム・ページを追加する TransformationExtension 要素をクリックします。
  10. 「拡張」ページの「すべての拡張」セクションで、カスタム・ページを追加する TransformationExtension 要素をクリックします。
  11. 拡張要素詳細」セクションの「extensionGUI」フィールドで、プラグインの識別子 (ID) およびステップ 1 で作成した Java パッケージ名とクラスを指定します。これは、getConfigurationTabs(ITransformationDescriptor descriptor, ITransformExtension extension) メソッドをオーバーライドします。 com.ibm.xtools.transform.ui.AbstractExtensionGUI クラスを拡張するクラスが、変換の拡張と同じプラグインに存在する場合は、プラグイン ID を指定しないでください。 以下の例のように、extensionGUI という名前のパラメーターが MANIFEST.MF ファイルに追加されます。
    <TransformationExtension
    	enabled="true"
    	extensionGUI="com.myTransform.ui/com.myTransform.ui.MyGUI"
    	id="MyTransformation.TransformationExtension"
    	readonly="false"
    	targetTransformation="com.target.transformation/transformation1"
    	version="1.0.0">
    </TransformationExtension>
  12. 「ファイル」 > 「保存」をクリックします。
タスクの結果
カスタム・ページをテストするには、ランタイム・ワークベンチを起動して、拡張された変換に変換構成を作成します。 getConfigurationTabs メソッドが返すリストに含まれるページが、変換構成エディターおよび変換構成ウィザードに表示されます。

フィードバック