変換構成のカスタム・ページを作成することができます。
このようなページを作成して、変換の拡張に追加するプロパティーの値をユーザーが指定できるようにすることができます。
変換のユーザーが拡張された変換の変換構成を作成する際に、変換構成エディターまたは変換構成ウィザードに新規ページが表示されます。
始める前に
変換の作成者は、ターゲット変換を変換サービスに登録する必要があります。
変換の拡張で、「新規構成」タブに関連付けられるプロパティーを定義する必要があります。
カスタムの変換構成ページの作成者は、これらのユーザー・インターフェース成果物を含むワークスペースでプロジェクトを特定する必要があります。新規ページを実装する Java™コードを含むプロジェクトを作成したり、変換の拡張を含む既存のプロジェクトでページを定義したりすることができます。
注: このトピックの例では、変換の拡張とは異なるプラグインでカスタム・ページを定義する場合を想定しています。
このトピックで取り上げたユーザー・インターフェース・クラスについて詳しくは、「
Rational® Transformation デベロッパー・ガイド (Rational Transformation Developer Guide)」の『変換 UI (Transformation UI)』セクションを参照してください。
注: Eclipse 文書または開発者ガイドへのリンクなどの、いくつかの情報は製品ヘルプ内のトピックからのみ使用可能です。
このタスクについて
変換構成にページを追加するには、以下のようにします。
- カスタム・ページを含めるために特定したプロジェクトで、次の Java クラスを作成します。
- com.ibm.xtools.transform.ui.AbstractExtensionGUI クラスを拡張するクラス
- 変換構成に提供する各ページで、com.ibm.xtools.transform.ui.AbstractTransformExtensionConfigTab クラスを拡張するクラス
- とクリックして、Java パースペクティブに切り替えます。
- 「パッケージ・エクスプローラー」ビューで、ステップ 1 で作成した Java クラスをダブルクリックします。これにより、com.ibm.xtools.transform.ui.AbstractExtensionGUI クラスが拡張されます。
- 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;
}
- ステップ 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);
}
- とクリックし、プロジェクトをビルドし直します。
- とクリックし、プラグイン開発パースペクティブを開きます。
- 「パッケージ・エクスプローラー」ビューで、カスタム・ページを作成する変換の拡張を含むプロジェクト名を拡張します。
- 変換の拡張を含む、プロジェクトの META-INF フォルダーで、カスタム・ページを追加する TransformationExtension 要素をクリックします。
- 「拡張」ページの「すべての拡張」セクションで、カスタム・ページを追加する TransformationExtension 要素をクリックします。
- 「拡張要素詳細」セクションの「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>
- をクリックします。
タスクの結果
カスタム・ページをテストするには、ランタイム・ワークベンチを起動して、拡張された変換に変換構成を作成します。
getConfigurationTabs メソッドが返すリストに含まれるページが、変換構成エディターおよび変換構成ウィザードに表示されます。