変換をモデル全体またはプロジェクト全体、あるいはモデルまたはプロジェクト内の要素のサブセットに対して実行して、生成したい出力を得ることができます。
変換は、変換構成で指定したソースに対して実行することができます。また、モデルまたはプロジェクト内の要素を選択し、適用する変換構成を選ぶことにより、指定したソースをオーバーライドすることが可能です。
始める前に
変換を実行するには、事前に変換構成を作成しておく必要があります。
変換構成を適用すると、変換のインスタンスが作成され、その構成内で定義したプロパティーを使用して変換が実行されます。
このタスクについて
変換を実行するには、次の 4 つの基本的な方法があります。
- ユーザー・インターフェースのコマンドから変換を実行する
- コマンド行から変換を実行する
- Ant タスクを使用して変換を実行する
- プログラムで変換を実行する
変換構成を使用する代わりにモデル内のソース要素を選択すると、選択したソース要素が、変換構成で指定されたソース・モデルまたは要素をオーバーライドします。変換構成は影響を受けず、変換構成エディターまたは「新規変換構成」ウィザードの「ソースとターゲット」ページで指定したソースも変更されません。
- 構成に指定されているソースで変換を実行するには、作業しているビューに応じて、以下のステップのいずれかを実行します。
- ナビゲーション・ビューにいる場合は、変換構成 (.tc) ファイルを右クリックしてから、「変換」をクリックし、変換をクリックします。
- 「パターン・エクスプローラー」ビューで変換を右クリックし、「変換を実行」をクリックします。「構成の選択」ダイアログ・ボックスで、実行する変換構成を指定し、「OK」をクリックします。
- 変換構成エディターの「メイン」ページで、「実行」をクリックします。
- 変換の実行対象として別のソースを指定する場合は、「モデリング」パースペクティブでソース・モデルまたはプロジェクト内の要素を選択して右クリックし、「変換」をクリックし、変換構成をクリックして、変換をクリックします。変換構成ファイルは、選択した要素と同じプロジェクト内に存在する必要があります。
ヒント: この変換を再び実行するには、をクリックします。最後に変換を実行した時と同じソース要素を使用して変換が行われます。
- コマンド行から変換を実行するには、以下の構文を使用します。
eclipse -data workspace-path -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "[-R]transformation-configuration-path1,[-R]transformation-configuration-path2,..."
-transformConfigs パラメーターには、1 つ以上の変換構成の完全なワークスペース・パスと構成ファイル名 (ファイル・システムのパス名ではない) を指定する必要があります。
コマンド行から変換を実行すると、変換によって生成されるすべてのダイアログ・ボックスが抑制されます。
例として、MyConfig.tc という変換構成が MyWorkspace というワークスペース内の MyProject というプロジェクト内にあるとします。この変換構成は、MyTransformation という変換の構成情報と、MyReverseTransformation という対応する後方変換の構成情報を指定します。MyTransformation を呼び出すには、コマンド行で以下のテキストを入力することで、MyConfig.tc 構成を実行できます。eclipse -data /MyWorkspace -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "MyProject/MyConfig.tc"
後方変換を実行するには、次の例に示すように、変換構成パスの先頭に -R オプションを指定します。eclipse -data /MyWorkspace -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "-RMyProject/MyConfig.tc"
複数の変換を実行するには、-transformConfigs パラメーターに、各構成のワークスペース・パス名を含む、変換構成のコンマ区切りのリストを指定します。以下の例のように、前方変換または後方変換を実行できます。eclipse -data /MyWorkspace -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "MyProject/MyConfig.tc, -RMyProject/MyConfig.tc"
- com.ibm.xtools.transform.core.runTransformation Ant タスクを使用して、単一または複数の変換を実行するには、以下のステップを実行します。
- プロジェクトに「build.xml」という名前のファイルを作成します。
- build.xml に、以下の内容を挿入します。
<?xml version="1.0" encoding="UTF-8"?>
<project name="myProject" default="generate" basedir=".">
<target name="generate">
<echo>Running transformation 'myProject/myConfig.tc' ...</echo>
<com.ibm.xtools.transform.core.runTransformation transformConfig="myProject/myConfig.tc" reverse="false"/>
</target>
</project>
myProject 変数をターゲット・プロジェクトの名前に置換し、myConfig.tc 変数をそのプロジェクトで参照されている変換構成ファイルの名前に置換します。
後方変換をサポートしている変換タイプの場合、後方変換を実行するには、reverse 属性を「true」に設定します。
build.xml ファイルに追加の <com.ibm.xtools.transform.core.runTransformation> 要素を指定することにより、複数の変換を実行することができます。
- build.xml ファイルを保存して、閉じます。
- build.xml を右クリックし、の順にクリックします。
- 変換をアプリケーションの一部として実行するには、以下の例のように、変換 API を呼び出すことができます。
IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path("/MyWorkspace/MyConfig.tc"));
try {
ITransformConfig config = TransformConfigUtil.loadConfiguration(file);
IStatus status = TransformController.getInstance().execute(config, null, false, null);
}
catch (IOException e) {
// 構成ファイルを読み取れませんでした。
}
以下の例のように URL を指定することで、変換構成をロードすることもできます。
try {
URL url= new URL(platform:/plugin/myPluginID/myConfig.tc);
ITransformConfig config = TransformConfigUtil.loadConfiguration(url);
}
catch (MalformedURLException malURLEx) {
// 例外を処理します。
}
catch (IOException ioEx) {
// 例外を処理します。
}
以下の例のように、さまざまなプロトコルを使用する URL を指定できます。
- platform:/plugin/myPluginID/myConfig.tc
- http://myServer.myCompany.com/myConfig.tc
- ftp://myUsername:myPassword@myServer.myCompany.com/myConfig.tc
- jar:file:c:/myFolder/myJar.jar!/myConfig.tc
- file:c:/myFolder/myConfig.tc