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

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

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

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

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

  1. カスタム・ページを含めるために特定したプロジェクトで、次の Java クラスを作成します。
    • com.ibm.xtools.transform.ui.AbstractTransformGUI クラスを拡張するクラス
    • 変換構成に提供する各ページで com.ibm.xtools.transform.ui.AbstractTransformConfigTab クラスを拡張するクラス
  2. 「ウィンドウ」 > 「パースペクティブを開く」 > 「Java」とクリックして、Java パースペクティブに切り替えます。
  3. パッケージ・エクスプローラー」ビューで、ステップ 1 で作成した Java クラスをダブルクリックします。これにより com.ibm.xtools.transform.ui.AbstractTransformGUI クラスが拡張されます。
  4. Java ファイル・エディターで、Java コードを指定して、getConfigurationTabs(ITransformationDescriptor descriptor) という名前のメソッドをオーバーライドします。このメソッドは、変換構成エディターまたは変換構成ウィザードに表示されるページのリストを返します。 次のコード・フラグメントを例として使用できます。
    public AbstractTransformConfigTab[] getConfigurationTabs(
    			ITransformationDescriptor descriptor) {
    
    		AbstractTransformConfigTab[] superTabs =
    			super.getConfigurationTabs(descriptor);
    		
    		AbstractTransformConfigTab[] myTabs =
    			new AbstractTransformConfigTab[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");
    		return myTabs;
    	}
  5. ステップ 1 で作成した、com.ibm.xtools.transform.ui.AbstractTransformConfigTab クラスを拡張する各クラスに、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 フォルダーで 、MANIFEST.MF ファイルをダブルクリックします。
  10. 「拡張」ページの「すべての拡張」セクションで、カスタム・ページに追加する Transformation 要素をクリックします。
  11. 拡張要素詳細」セクションの「transformGUI」フィールドで、プラグインの識別子 (ID) およびステップ 1 で作成した Java パッケージの名前とクラスを指定します。これは、getConfigurationTabs(ITransformationDescriptor descriptor) メソッドをオーバーライドします。 com.ibm.xtools.transform.ui.AbstractTransformGUI クラスを拡張するクラスが、変換と同じプラグインに存在する場合は、プラグイン ID を指定しないでください。 次の例のように、transformGUI という名前のパラメーターが MANIFEST.MF ファイルに追加されます。
    <Transformation
        groupPath="myTrans"
        id="myTrans.transformation"
        name="Transformation"
        sourceModelType="resource"
        targetModelType="resource"
        transformGUI="com.myTransform.ui/com.myTransform.ui.MyGUI"</Transformation>
    </Transformation>
  12. 「ファイル」 > 「保存」をクリックします。
タスクの結果
カスタム・ページをテストするには、ランタイム・ワークベンチを開始して、変換に変換構成を作成します。 getConfigurationTabs メソッドが返すリストに含まれるページが、変換構成エディターおよび変換構成ウィザードに表示されます。

フィードバック