Running and rerunning model-to-model transformations

You can run a model-to-model transformation by applying a transformation configuration, by using command-line syntax, or by invoking the transformation API in application source code.

About this task

Procedure

To run a transformation, complete the steps for one of the options in the following table:
Option Description
Use a transformation configuration Depending on the view that you are in, complete one of the following steps:
  • In the navigation view, right-click a transformation configuration (.tc) file; then click Transform and click a transformation. When you apply a transformation configuration, an instance of the transformation is created and the transformation runs with the properties that the configuration defines.
  • In the Pattern Explorer view, right-click a transformation; then click Run Transformation. In the Select configuration dialog box, specify the transformation configuration to run, and click OK.
Override the transformation source that is defined in a transformation configuration In the Modeling perspective, select and right-click elements in the source model or project; then click Transform, click a transformation configuration, and click a transformation. The source that you specify in the transformation configuration file is not affected.
Tip: To run this transformation again, click Modeling > Transform > Run Last. The transformation uses the same source elements from when you last ran the transformation.
Run the transformation from the command line To run a transformation from a command line, use the following syntax:
eclipse -data workspace-path -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "[-R]transformation-configuration-path1,[-R]transformation-configuration-path2,..." 

In the -transformConfigs parameter, you must specify the complete workspace path and configuration file name, not the file-system path name, of one or more transformation configurations.

Running a transformation from a command line suppresses all dialog boxes that the transformation generates.

As an example, a transformation configuration called MyConfig.tc is in a project called MyProject in a workspace called MyWorkspace. This transformation configuration specifies the configuration information for a transformation called MyTransformation, and for a corresponding reverse transformation called MyReverseTransformation.
  • To invoke MyTransformation, you can run the MyConfig.tc configuration by typing the following text at the command line:
    eclipse -data /MyWorkspace -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "MyProject/MyConfig.tc"  
  • To run the reverse transformation, specify the -R option at the beginning of the transformation configuration path, as in this example:
    eclipse -data /MyWorkspace -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "-RMyProject/MyConfig.tc"
  • To run multiple transformations, in the -transformConfigs parameter, specify a comma-separated list of transformation configurations, including the workspace path name for each configuration. You can run forward or reverse transformations, as in this example:
    eclipse -data /MyWorkspace -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "MyProject/MyConfig.tc, -RMyProject/MyConfig.tc"
Invoke the transformation API To run the transformation as part of an application, you can invoke the transformation API, as in the following example:
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) {
// The config file could not be read.
}
You can also load a transformation configuration by specifying a URL, as in the following example:
try {
	URL url= new URL(platform:/plugin/myPluginID/myConfig.tc);
	ITransformConfig config = TransformConfigUtil.loadConfiguration(url);
	}
	catch (MalformedURLException malURLEx) {
		// Handle exception.
	}
	catch (IOException ioEx) {
		// Handle exception.
}
You can specify a URL that uses different protocols, as in the following examples:
  • 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
Run a transformation configuration from an Ant script
To run a transformation from an Ant script or build.xml file, complete the following steps:
  1. In a project in the current workspace, create a file named build.xml.
  2. In the build.xml file, insert the following content:
    <?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>
  3. Replace the myProject variable with the name of your target project and the myConfig.tc variable with the name of the transformation configuration file being referenced in that project.
  4. For transformation types that support a reverse transformation, to run the reverse transformation, set the reverse attribute to true.
    Note: The transformation configuration must implement the Reconciled Modeling design contract management protocol (DCMP).
  5. Right-click the build.xml file; then click Run As > Ant Build.

Feedback