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.
<extension point="org.eclipse.core.runtime.contentTypes"> <file-association content-type="com.ibm.xtools.comparemerge.emf.emfContentType" file-extensions="input"/> </extension>