Por Que e Quando Desempenhar Esta Tarefa
- 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.
- Expanda o projeto de destino e clique duas vezes no arquivo de configuração de transformação denominado Transformar source1 em target1.tc.
- No editor de configuração de transformação, clique em Executar.
- 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.
- 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.
- No projeto de destino, clique duas vezes no arquivo de configuração de transformação denominado Transformar source2 em target2.tc.
- No editor de configuração de transformação, clique em Executar.
- 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.