Após a configuração de uma transformação para criar um modelo de mapeamento,
você pode incluir código em uma classe Java™ na transformação para criar
modelos de mapeamento, extrair informações de modelos de mapeamento e validar
os parâmetros de mapeamento contidos no contexto de transformação.
Antes de Iniciar
O espaço de trabalho atual deve conter um plug-in do Eclipse contendo
os seguintes itens:
- Instância do ponto de extensão com.ibm.xtools.transform.core.transformationProviders
- Elemento TransformationProvider
- Elemento Transformation
A transformação deve ser configurada para suportar a criação de modelos de
mapeamento e o contexto de transformação deve conter os parâmetros de mapeamento. Normalmente, um usuário de transformação especifica os parâmetros de mapeamento na guia
Mapeamento
do editor de configuração de transformação.
Por Que e Quando Desempenhar Esta Tarefa
Os parâmetros de mapeamento no contexto de transformação determinam
o modo de mapeamento. O modo de mapeamento especifica quais dessas ações do modelo de
mapeamento, se houver, a transformação deve concluir:
- Criar ou atualizar um modelo de mapeamento
- Extrair nomes de objetos mapeados de um modelo de mapeamento
Para gerenciar modelos de mapeamento:
- Na visualização de navegação, em um projeto de transformação, abra o arquivo Java
no qual você está incluindo métodos para determinar o modo de mapeamento.
- Para determinar o modo de mapeamento, chame
os métodos da classe chamada com.ibm.xtools.transform.uml2.mapping.MappingModeUtility,
como no seguinte exemplo:
if (MappingModeUtility.isNoMappingMode(context)) {
// Executar a transformação com a funcionalidade do modelo de mapeamento desativada.
}
else if (MappingModeUtility.isAMappingModelWritingMode(context) {
// Criar ou atualizar um modelo de mapeamento.
}
else if (MappingModeUtility.isUsesMappingMode(context) {
// Extrair nomes de objetos mapeados de um modelo de mapeamento.
}
- Para concluir qualquer uma das ações da tabela a seguir, inclua as
solicitações de método apropriadas no fragmento de código mostrado na etapa 2.
Dependendo de como a transformação transforma os objetos de origem, é possível inserir
código adicional entre essas chamadas de método.
| Ação |
Métodos a serem chamados |
| Criar ou atualizar um modelo de mapeamento |
- initialize(ITransformContext)
- populateMappingModel(List, ITransformContext) ou populateMappingModel(NamedElement,
ITransformContext)
- terminate(ITransformContext)
Dica: Se o modelo de mapeamento tiver que gerar artefatos que sigam
uma convenção de nomenclatura específica da plataforma, você poderá especificar essa convenção de nomenclatura
na documentação de transformação: No arquivo de manifesto de plug-ins, o atributo document
do elemento Transformation especifica o local da documentação de
transformação.
|
| Extrair os nomes de objetos mapeados de um modelo de mapeamento |
- initialize(ITransformContext)
- Uma ou mais chamadas de getFilename(NamedElement, ITransformContext,
Character) ou getFilenameIgnoringParent(NamedElement, ITransformContext)
- terminate(ITransformContext)
|
| Validar os parâmetros de mapeamento em um contexto de transformação |
No método na classe do provedor de transformação chamada validateContext(ITransformationDescriptor
descriptor, ITransformContext context), chame o seguinte método: validateContext(ITransformContext) |
- Clique em .
- Clique em .