Configuração de Amostra para uma Transformação de Modelo-a-Modelo para Modelos que Contêm Referências Cruzadas

Esta amostra mostra duas maneiras de gerenciar referências cruzadas ao transformar um modelo.
Antes de Iniciar
Use as instruções em "Configurar Instruções para uma Transformação de Modelo-a-Modelo para Modelos que Contêm Referências Cruzadas" para configurar a amostra.

Transformando Referências Cruzadas Quando o Elemento Referido Não Estiver Transformado

Por Que e Quando Desempenhar Esta Tarefa
  1. No ambiente de trabalho de tempo de execução, na visualização Package Explorer, expanda o projeto de origem, expanda Modelos, expanda Source1 e, em seguida, expanda as classes A e B. Cada classe possui um atributo e o tipo do atributo é a outra classe no mesmo pacote.
  2. Expanda o projeto de destino e clique duas vezes no arquivo de configuração de transformação denominado Transformar source1 em target1.tc.
  3. No editor de configuração de transformação, clique em Executar.
  4. No projeto de destino, expanda Modelos, expanda Target1 e, em seguida, expanda as interfaces IA e IB, que a transformação gerou das classes A e B. Observe que os tipos dos atributos são configurados para a interface no modelo de destino que corresponde à classe no modelo de origem.
  5. No projeto de origem, expanda Source2. Essa pasta contém um pacote com uma classe, denominada C, que possui um atributo, cujo tipo é uma classe no outro modelo de entrada, Class A em Source1 (pacote P1). Essa referência cruzada é o assunto dessa amostra.
  6. No projeto de destino, clique duas vezes no arquivo de configuração de transformação denominado Transformar source2 em target2.tc.
  7. No editor de configuração de transformação, clique em Executar.
  8. No projeto de destino, expanda Modelos, expanda Target2 e expanda a interface IC, que a transformação gerou da classe C. O tipo do atributo no modelo de destino gerado é o mesmo que era no modelo de entrada: Class A em Source1. Esse resultado ocorre porque a transformação que transforma Source2 em Target 2 não tem nenhuma informação sobre a transformação de Source1 para Target1.
Resultados
Se você estiver transformando múltiplos modelos, conforme nesse exemplo, e os modelos contiverem referências entre modelos que deseja atualizar para os objetos correspondentes, você não poderá transformar os modelos sequencialmente. É necessário transformar os modelos ao mesmo tempo. A seção a seguir informa como fazer isso.
Nota: Se o modelo que contiver o elemento referido não dever ser transformado, o que significa que a referência cruzada está estática, as instruções não serão necessárias na seção a seguir. É possível apenas transformar o modelo que contém o elemento de referência , como é feito tipicamente. Essas instruções se aplicam apenas quando o destino da referência cruzada deve ser transformado.

Transformando Referências Cruzadas Quando o Elemento Referido e o Elemento de Referência Forem Transformados

Por Que e Quando Desempenhar Esta Tarefa
  1. Na visualização Package Explorer, expanda o projeto de destino e clique duas vezes no arquivo de configuração de transformação denominado Transformar source1 e source2 em target1 e target2.tc.
  2. No editor de configuração de transformação, clique na guia Origem e Destino. Observe que a origem especificada aqui é Source1.emx, e o destino é Target1.emx, assim como na transformação denominada Transformar source1 em target1.tc.
  3. No editor de configuração de transformação, clique na guia Origens e Destinos da Transformação Auxiliares. A origem e o destino auxiliares especificados aqui são Source2.emx e Target2.emx. Ao executar a transformação, Source2.emx é transformada, bem como Source1.emx.
  4. No editor de configuração de transformação, clique na guia Principal e em Executar.
  5. Examine Target1. O conteúdo é o mesmo que era depois da transformação anterior.
  6. Examine Target2. O atributo de IC na interface gerada é agora configurado como IA, que é a interface no modelo de destino que corresponde à classe referida originalmente, A, no modelo de origem.
Informações relacionadas
Configurar Instruções para uma Transformação de Modelo-a-Modelo para Modelos que Contêm Referências Cruzadas

Feedback