A
saída gerada por uma transformação pode substituir ou ser mesclada com um modelo
existente. É necessário especificar as propriedades de mesclagem na configuração de transformação
criada antes da execução da transformação. A disponibilidade de uma mesclagem
depende da especificação de uma estratégia de mesclagem para o metamodelo de saída.
Antes de Iniciar
Um arquivo de configuração de transformação deve
ser definido, normalmente, no projeto que contém o modelo de entrada que a
transformação processará, ou no projeto que contém o modelo de destino
que a transformação sobrescreverá ou com o qual será mesclado. Um arquivo de configuração
de transformação tem .tc como extensão do nome do arquivo e define como a transformação
de modelo em modelo será executada. O
é necessário que o metamodelo de destino declare uma extensão de tipo de conteúdo CompareMerge. Se o metamodelo do modelo de destino não declarar uma extensão CompareMerge, a transformação irá sobrescrever o modelo de destino.
Por Que e Quando Desempenhar Esta Tarefa
Para especificar opções de mesclagem para saída de transformação de modelo em modelo:
- Na visualização Explorador de Projetos, clique com o botão direito do mouse
no arquivo de configuração de transformação; em seguida, clique em Abrir.
- No editor de Configuração de Transformação, clique na guia Propriedades.
- Especifique como o modelo gerado pela transformação deve
ser mesclado com o modelo de destino.
- Clique em .
Exemplo
Por exemplo, suponha que a transformação gere um modelo de
saída chamado MyOutputModel.input, que é uma instância do metamodelo
input.ecore. Suponha que o arquivo plugin.xml do plug-in do metamodelo input.ecore
contenha uma extensão de mesclagem que especifique a estratégia de mesclagem Ecore padrão. Se você criar uma configuração de transformação que especifique MyOutputModel.input
como o modelo de destino em uma configuração de transformação e especifique a opção de
mesclagem de substituição, a transformação substituirá o conteúdo de MyOutputModel.input
pelo conteúdo do modelo temp.input gerado pela transformação
no tempo de execução.
Se você especificar outras opções de mesclagem na configuração de
transformação, como automática, silenciosa ou visual, e o plug-in do metamodelo
input.ecore especificar a estratégia de mesclagem EMF padrão, a transformação mesclará
o conteúdo de temp.input com MyOutputModel.input.
Se o plug-in do metamodelo
input.ecore não especificar uma estratégia de mesclagem, nenhuma mesclagem ocorrerá, independentemente
das informações na configuração de transformação. A transformação
é executada como se a opção de mesclagem de substituição estivesse especificada.