É
possível executar uma transformação em um modelo ou projeto inteiro, ou em um subconjunto de
elementos em um modelo ou projeto para gerar a saída esperada. Você
pode executar uma transformação na origem especificada na configuração de
transformação, ou pode substituir a origem especificada selecionando elementos
no modelo ou projeto e, em seguida, escolhendo uma configuração de transformação
para ser aplicada.
Antes de Iniciar
Antes
de poder executar uma transformação, é necessário criar uma configuração de transformação.
Quando você aplica uma configuração de transformação, uma instância da transformação
é criada e executada com as propriedades definidas nessa
configuração.
Por Que e Quando Desempenhar Esta Tarefa
Há quatro métodos básicos que você pode utilizar para
executar uma transformação:
- Executar uma transformação de comandos na interface com o usuário
- Executar uma transformação na linha de comandos
- Executar uma transformação utilizando uma tarefa Ant
- Executar uma transformação programaticamente
Se você selecionar
elementos de origem no modelo em vez de utilizar a configuração de transformação,
os elementos de origem selecionados substituirão o modelo ou elementos de origem
especificados na configuração de transformação. A
configuração de transformação não é afetada e a origem especificada
na página Origem e Destino do editor de configuração de transformação
ou no assistente de Nova Configuração de Transformação não é alterada.
- Para executar a transformação na origem especificada
na configuração, dependendo da visualização com a qual você estiver trabalhando, conclua
uma das seguintes etapas:
- Na visualização de navegação, clique com o botão direito
do mouse em um arquivo de configuração de transformação (.tc); em seguida, clique em
Transformar e clique em uma transformação.
- Na visualização Explorador de Padrões,
clique com o botão direito do mouse em uma transformação; em seguida, clique em Executar Transformação.
Na caixa de diálogo Selecionar Configuração, especifique a
configuração de transformação a ser executada e clique em OK.
- Na página Principal do editor de configuração de transformação,
clique em Executar.
- Para especificar uma origem diferente para
executar a transformação, na perspectiva Modelagem,
selecione e clique com o botão direito do mouse em elementos no modelo ou projeto de origem; em seguida, clique em Transformar,
clique em uma configuração de transformação e clique em uma transformação.
O arquivo de configuração de transformação deve estar no
mesmo projeto que os elementos selecionados.
Dica: Para executar essa transformação novamente, clique em . A transformação utiliza os mesmos elementos de origem de quando você a executou pela última vez.
- Para executar uma
transformação a partir de uma linha de comandos, utilize a seguinte sintaxe:
eclipse -data workspace-path -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "[-R]transformation-configuration-path1,[-R]transformation-configuration-path2,..."
No parâmetro -transformConfigs,
é necessário especificar o nome completo do caminho do espaço de trabalho e do arquivo de configuração,
não o nome do caminho do sistema de arquivo, de uma ou mais configurações de transformação.
A execução de uma transformação a partir de uma
linha de comandos suprime todas as caixas de diálogo geradas pela transformação.
Como
um exemplo, uma configuração de transformação chamada MyConfig.tc está em um projeto
chamado MyProject em um espaço de trabalho chamado MyWorkspace. Essa configuração de transformação
especifica as informações de configuração para uma transformação chamada MyTransformation
e para uma transformação reversa correspondente chamada MyReverseTransformation.Para chamar MyTransformation, você pode executar
a configuração MyConfig.tc digitando o seguinte texto na linha de
comandos: eclipse -data /MyWorkspace -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "MyProject/MyConfig.tc"
Para
executar a transformação reversa, especifique a opção -R no início do
caminho da configuração de transformação, como neste exemplo: eclipse -data /MyWorkspace -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "-RMyProject/MyConfig.tc"
Para
executar várias transformações, no parâmetro -transformConfigs,
especifique uma lista separada por vírgula de configurações de transformação, incluindo
o nome do caminho do espaço de trabalho para cada configuração. É possível executar transformações avançadas
ou reversas, como neste exemplo:eclipse -data /MyWorkspace -application com.ibm.xtools.transform.core.transformationRunner -transformConfigs "MyProject/MyConfig.tc, -RMyProject/MyConfig.tc"
- Para executar transformações únicas ou múltiplas utilizando a
tarefa Ant com.ibm.xtools.transform.core.runTransformation, execute as
seguintes etapas:
- Crie um arquivo em seu projeto denominado "build.xml".
- Em build.xml, insira o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<project name="myProject" default="generate" basedir=".">
<target name="generate">
<echo>Executando a transformação 'myProject/myConfig.tc' ...</echo>
<com.ibm.xtools.transform.core.runTransformation transformConfig="myProject/myConfig.tc" reverse="false"/>
</target>
</project>
Substitua a variável myProject pelo
nome de seu projeto de destino e a variável myConfig.tc pelo nome do
arquivo de configuração de transformação que está sendo mencionado nesse projeto.
Para
tipos de transformação que suportam uma transformação reversa, se você quiser executar
a transformação reversa, defina o atributo reverse como "true."
É possível executar
várias transformações especificando elementos
<com.ibm.xtools.transform.core.runTransformation> adicionais
no arquivo build.xml.
- Salve e, em seguida, feche o build.xml.
- Clique com o botão direito do mouse em build.xml; em seguida, clique em
.
- Para executar a transformação
como parte de um aplicativo, você pode chamar a API de transformação, como no
exemplo a seguir:
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) {
// O arquivo de configuração não pôde ser lido.
}
Você também pode carregar uma configuração
de transformação especificando uma URL, como no exemplo a seguir:
try {
URL url= new URL(platform:/plugin/myPluginID/myConfig.tc);
ITransformConfig config = TransformConfigUtil.loadConfiguration(url);
}
catch (MalformedURLException malURLEx) {
// Manipular exceção.
}
catch (IOException ioEx) {
// Manipular exceção.
}
Você pode especificar uma URL que utilize protocolos
diferentes, como nos exemplos a seguir:
- plataforma:/plugin/myPluginID/myConfig.tc
- http://myServer.myCompany.com/myConfig.tc
- ftp://myUsername:myPassword@myServer.myCompany.com/myConfig.tc
- jar:arquivo:c:/myFolder/myJar.jar!/myConfig.tc
- arquivo:c:/myFolder/myConfig.tc