Incluindo Suporte de Mesclagem para Modelos Gerados por Projetos de Mapeamento de Transformação de Modelo em Modelo

Se o suporte a fusões não for especificado para o tipo de metamodelo gerado pela transformação, ou se você quiser substituir o suporte a fusões especificado para esse tipo de metamodelo, poderá especificar uma extensão de mesclagem no projeto de mapeamento ou no projeto que define o metamodelo de destino.
Antes de Iniciar

Quando você executa a transformação criada utilizando as ferramentas de autoria, a transformação cria um modelo temporário, que é uma instância de um metamodelo Ecore específico. A funcionalidade de Comparar e Mesclar fornece implementações de uma estratégia de mesclagem Ecore genérica e uma estratégia de mesclagem separada para modelos UML. Se a transformação gerar um modelo de saída UML, você não precisará configurar o suporte a fusões. Se a transformação gerar um modelo de saída que é uma instância de um metamodelo Ecore e se você quiser mesclar a saída de transformação, deverá verificar se o suporte a fusões está configurado para esse tipo de metamodelo Ecore. Normalmente, os autores de metamodelos configuram a estratégia de suporte a fusões do metamodelo e podem especificar estratégias de mesclagem customizadas.

Por exemplo, considere uma transformação que gere um modelo de saída chamado MyOutputModel.input; esse modelo é uma instância do metamodelo input.ecore. Para determinar se o suporte a fusões está ativado para metamodelos input.ecore, verifique as extensões no plug-in que contêm a definição do metamodelo input.ecore. Se o suporte a fusões estiver configurado para o metamodelo input.ecore, o arquivo plugin.xml no plug-in que define o metamodelo conterá uma extensão de mesclagem semelhante àquela do fragmento de código na parte inferior deste tópico. Para substituir a estratégia de mesclagem especificada, ou se o suporte a fusões não estiver configurado para esse tipo de metamodelo, você poderá incluir uma extensão de mesclagem no projeto de mapeamento ou no projeto que contém a definição de metamodelo.

Por Que e Quando Desempenhar Esta Tarefa
Para incluir um ponto de extensão de mesclagem no arquivo plugin.xml no projeto de mapeamento ou no projeto que contém a definição de metamodelo:
  1. Na visualização Explorador de Projetos, no projeto de mapeamento de transformação, abra o arquivo plugin.xml.
  2. Clique na guia Extensões.
  3. Na área de janela Todas as Extensões, clique em Incluir.
  4. Clique na extensão que representa a funcionalidade de mesclagem a ser implementada. Por exemplo, para especificar o ponto de extensão de mesclagem EMF, clique em org.eclipse.core.contenttype.contentTypes.
  5. Clique em Concluir.
  6. Na guia Extensões, na área de janela Todas as Extensões, clique com o botão direito do mouse na extensão especificada na etapa 4 e, em seguida, clique em Nova > associação de arquivo.
  7. No campo file-extensions, especifique o tipo de modelo definido pelo projeto de mapeamento. Esse campo pode conter uma lista de extensões de arquivo separadas por vírgula a ser associada a esse tipo de conteúdo.
  8. Clique em Arquivo > Salvar.
Exemplo
O exemplo a seguir mostra um fragmento de código do arquivo plugin.xml, depois que um ponto de extensão de mesclagem é incluído após a conclusão das etapas acima. Nesse exemplo, o arquivo plugin.xml indica que a mesclagem de EMF fica disponível quando uma transformação é executada e a transformação gera um modelo que tem .input como extensão de nome de arquivo. O atributo file-extensions representa o tipo de arquivo do modelo de destino que está sendo mesclado com outro modelo.
<extension point="org.eclipse.core.runtime.contentTypes">
	<file-association content-type="com.ibm.xtools.comparemerge.emf.emfContentType" file-extensions="input"/>
</extension>

Feedback