Para especificar as
informações que a transformação utiliza para gerar a saída que você
espera, utilize o
Novo assistente de configuração de transformação
e o editor de
configuração de transformação,
que o orientará por meio da configuração.
Sobre Esta Tarefa
Uma configuração de transformação possui .tc
como uma extensão de nome de arquivo e contém as informações que a transformação
utiliza para gerar a saída esperada. Uma configuração de transformação também contém informações específicas
para um determinado tipo de transformação. Para editar uma
configuração de transformação existente, em uma visualização
que mostra os recursos da área de trabalho, dê um clique duplo no
arquivo de configuração da transformação, que abre o editor de
configuração de transformação.
Para simplificar o trabalho com o arquivo de configuração de transformação, salve o arquivo de configuração no projeto que contém os elementos para transformar.
Procedimento
- Dependendo da visualização com a qual você estiver trabalhando, conclua
uma das seguintes etapas:
- Na visualização Explorador de Padrões, clique com o botão direito do mouse em uma transformação;
em seguida, clique em Nova Configuração.
- Em outras visualizações, clique em . Se Configuração de
Transformação não for um item de menu, clique em .
- Especifique os detalhes da configuração. No Novo
Assistente de Configuração de Transformação ,
na página Especifique um Nome e uma Transformação de Configuração,
conclua as seguintes etapas:
- No campo Nome ,
especifique um nome para a configuração.
- No campo Destino do arquivo de configuração,
especifique o destino do arquivo de configuração da
transformação. O destino é um caminho relativo em seu espaço de trabalho atual. É possível especificar um nome de projeto completo ou o nome de uma pasta. Se você especificar uma
pasta em um projeto, deverá iniciar o nome da pasta com uma barra (/).
- A partir da lista Transformação ,
selecione uma transformação.
Nota: Para exibir as transformações que estão instaladas, mas não
ativadas, clique em Mostrar todas as transformações. Uma transformação deve estar ligada a um recurso para que seja exibida nesta lista.
- Na seção Protocolo,
especifique o protocolo de modelagem, que também é chamado de design contract management protocol (DCMP). O valor selecionado determina se a origem e o destino da transformação
devem ser sincronizados.
- Se o modelo de origem for o artefato de engenharia
primária, selecione Conceitual. Quaisquer mudanças no modelo de origem são propagadas para o modelo de destino.
- Se a arquitetura que os artefatos de origem representam evoluir independentemente
do destino, selecione Reconciliada. Selecionar essa opção possibilita a transformação reversa, que é possível utilizar para comprara a origem e o destino e reconciliar mudanças. Você também pode selecionar essa opção se diferentes equipes implementarem, desenvolverem ou mantiverem a arquitetura.
Nota: Ao selecionar essa opção, propriedades adicionais se tornam disponíveis na seção "Transformação reversa" da
páginaPrincipal. Para algumas transformações, opções ou páginas adicionais ficam disponíveis no
editor de
configuração de transformação. Para obter informações sobre como configurar a
transformação reversa, consulte o link relacionado a seguir.
- Clique em Avançar.
- Especifique os elementos de origem e destino para
a transformação. Para obter uma lista de elementos de origem e destino válidos, consulte
o tópico de conceito relacionado para essa transformação. Na página Origem e Destino,
complete as seguintes etapas:
- No painel Origem selecionada,
selecione o elemento de origem para a transformação ser realizada.
- No painel Destino selecionado,
selecione o destino da saída da transformação.
Para criar um novo destino para a saída, clique em Criar contêiner de destino.
- Clique em Concluir. O
editor de
configuração de transformação
é aberto, e o conteúdo da configuração é exibido.
- Opcional: Especifique valores para as propriedades de geração de código que são
exclusivas para a transformação. Na página
Principal,
complete uma ou mais das seguintes etapas:
- Para transformar os métodos Java™ getter e setter em operações UML, selecione
Gerar operações UML para cada método Java getter e
setter. Se não quiser exibir as operações UML para getters e setters
Java no modelo UML de destino ao executar a transformação, não
selecione essa caixa de opção.
Esta opção modifica a mesma propriedade de transformação que a opção Gerar métodos getter e
setter na transformação reversa. Se você selecionar uma das caixas de opções, será o equivalente a desmarcar a outra. Desmarque essa caixa de
opção se quiser gerar getters e setters Java ao executar a
transformação reversa, mas não quiser exibir as operações UML para getters e setters
Java no modelo UML de destino ao executar a transformação de
encaminhamento.
- Para gerar uma estrutura simples de pacote UML no modelo UML de destino para cada pacote Java no projeto Java de origem, selecione a caixa de opção Gerar um pacote UML simples para cada pacote Java. Se você não selecionar essa caixa de opção, a transformação gera uma estrutura de pacotes hierárquica.
Se o destino de transformação for um modelo UML existente, você deve especificar a mesma estrutura de pacote que o modelo de destino; isso reduz o número de diferenças que você deve resolver entre o modelo de destino e o modelo temporário gerados pela transformação.
Por exemplo, suponhamos que um projeto Java de origem contenha as
classes a.b.Y e a.b.c.Z.
Se você selecionar a caixa de opção, a transformação gera pacotes UML a.b e a.b.c.
Esses pacotes não são hierárquicos. A classe UML Y é criada no pacote UML a.b, e a classe UML
Z é criada no pacote UML a.b.c. Se você desmarcar essa caixa de opção, o pacote UML a é
criado; o pacote UML b é criado no pacote a; o pacote UML c é criado no pacote b;
uma classe UML Z é criada no pacote c; e a classe UML Y é criada no pacote b.
- Para gerar associações UML para atributos UML para campos
Java, selecione a caixa de opção Gerar uma associação UML
para cada campo Java . A transformação examina o modelo UML de destino e cria relacionamentos de
associação para campos Java que fazem parte de um relacionamento de
associação. Se um campo Java não faz parte de uma associação UML, a
transformação cria um atributo UML. Para também mostrar tipos visualizados e tipo primitivo como associações
direcionadas, selecione as caixas de opção correspondentes.
- Opcional: Para gerar informações sobre depuração, na página Principal,
selecione a caixa de opção Gerar um log de depuração. Na próxima vez em que você executar a transformação, o arquivo de log será
gerado como um arquivo XML na pasta em que você especificar nas preferências de transformações. Se você não
especificar um local para os arquivos de log, a transformação gera o arquivo de log na pasta
.metadata em sua área de trabalho.
Dica: Para configurar as preferências para as transformações, clique em
; em seguida,
expanda Modelagem e clique em Transformações.
O arquivo de log fornece informações sobre
os elementos de origem, os elementos de destino e as regras que a transformação
aplica para transformar os elementos de origem. Se a transformação transformar
vários elementos, poderá ocorrer uma redução no desempenho enquanto a transformação
gerar o arquivo de log; portanto, você só deverá gerar um arquivo de log para
propósitos de depuração.
- Opcional: Para evitar que novas caixas de diálogo sejam
abertas enquanto uma transformação é executada, na página
Principal,
selecione a caixa de opção Executar a transformação de encaminhamento silenciosamente.
A execução de uma transformação
no modo silencioso suprime todas as caixas de diálogo geradas pela transformação.
A transformação aplica regras e comportamento padrão, o que pode gerar
uma saída de transformação inesperada ou incorreta. Você só deve executar uma transformação
no modo silencioso para validar a execução da transformação, em vez de validar
a saída da transformação. Por exemplo, você poderia executar uma transformação no
modo silencioso como parte de um conjunto de tarefas automatizadas ou testes automatizados.
A configuração da transformação
para executar em modo silencioso substitui as opções de
substituição de arquivo que você especifica, e então
sobrescreve os arquivos se necessário.
Se a transformação
UML em Javaestiver
disponível, é possível selecionar a caixa de opção
Executar a transformação reversa silenciosamente. Especificar que a transformação de UML em Java ou reversa seja executada no modo silencioso substitui as opções para sobrescrever especificadas na configuração da transformação. A transformação de UML em Java sobrescreve arquivos, se necessário.
- Opcional: Para criar um relacionamento
rastreável entre a origem e o destino de transformação, na página Principal,
selecione a caixa de opção Criar relacionamentos de rastreio. Essa
caixa de opção será ativada apenas se você selecionar os protocolos Modelagem Combinada ou Modelagem Reconciliada.
É possível utilizar os relacionamentos de rastreio e as ferramentas de desenvolvimento
visual para entender os relacionamentos entre os elementos de modelo de origem e a saída da
transformação. Essa função é útil em projetos grandes que podem conter vários modelos
e configurações de transformação. A transformação não altera
o modelo de origem.
- Opcional: Especifique a documentação sobre
a configuração de transformação. Esse campo é útil para comunicar informações
sobre uma configuração compartilhada por vários usuários. Na página Principal,
no campo Documentação ,
especifique as informações adicionais sobre a configuração da transformação.
- Opcional: Especifique
as extensões de transformação a serem ativadas ou desativadas.
- Opcional: Especifique como a transformação transforma os tipos de coletas Java selecionados a partir do projeto Java de origem em tipos de coleta UML.
- Na página Coleções, a partir de cada lista de tipos de coleção UML, selecione um tipo de coleção
Java.
Para especificar um valor customizado, digite o valor no campo de coleta.
Para cada tipo de coleta Java no projeto de origem, é possível especificar o tipo de coleta UML que a transformação gera. É possível mapear um tipo de coleta Java para um tipo de coleta UML.
As seleções padrão mapeiam as classes de Coleta Java, de Conjunto Classificado, de Lista e de Conjunto para os tipos de coleta de Repositório de UML, de Conjunto Ordenado, Sequência e Conjunto. Ao executar a transformação, se puder identificar as coletas ou matrizes Java no código e identificar o tipo de coletas ou matrizes, a transformação aplica o estereótipo «JavaCollection» ou
«JavaArray» ao elemento UML gerado e preenche os valores das propriedades do estereótipo. Caso contrário, a transformação gera uma referência adaptável e não aplica um estereótipo ao elemento UML gerado.
Por exemplo, para transformar classes de vetor Java em sequências UML,
selecione java.util.Vector na lista Sequência em vez de as
classes de Lista Java. Para cada classe de Lista Java no projeto
Java de origem, a transformação gera uma referência adaptável no modelo
UML de destino e configura as propriedades É Ordenado e É Exclusivo do elemento UML gerado para
falso.
Neste exemplo, a transformação configura essas propriedades para falso, pois não
transforma o tipo de coleta de Lista Java em um tipo de coleta UML.
Consulte o tópico de referência relacionado abaixo para obter informações adicionais sobre como a transformação preenche as propriedades de coleta UML quando transforma as coletas Java.
- Opcional: Para criar um arquivo que defina as interdependências de elementos
Java e elementos UML de destino, crie um arquivo de associação de Java
em UML. Essa funcionalidade é útil para definir os relacionamentos entre elementos
Java e UML cujo escopo está fora da transformação configurada e que
pode estar localizado em diferentes projetos. Para criar um arquivo de associação, na página Associações de Java em UML, execute as seguintes etapas:
- No campo Nome do arquivo de associação de Java em UML, especifique um nome de arquivo.
- Na seção Associações de Java em UML, ao lado da tabela, clique nos botões para incluir ou remover uma associação do arquivo.
Para obter informações adicionais sobre suporte para diversos projetos e suas interdependências,
consulte o tópico de conceito de transformação de Java em UML relacionado abaixo.
- Opcional: Se você ativar o
DCMPModelagem Reconciliada,
na
páginaMapeamento,
é possível selecionar e configurar modelos de mapeamento que você criou para outras transformações reversas. Ao usar modelos de mapeamento, é possível especificar nomes de arquivos alternativos para saída que a
transformaçãoUML em Java
gera. O modelo de mapeamento especificado deve existir no espaço de trabalho atual.
A transformação de Java em UML utiliza os modelos de mapeamento para determinar o nome apropriado para os elementos de UML gerados. Por exemplo, um modelo UML contém PackageA, e PackageA
contém Class1. Ao criar um modelo de mapeamento para a transformação de UML em Java, é possível especificar que Class1 tem um nome de arquivo alternativo
MappedClass1.
Ao executar a
transformaçãoUML em Java,
ela gera arquivos Java denominados PackageA.MappedClass1.java. Ao executar a transformação de Java em UML, a transformação determina que o caminho UML original para o elemento Java é PackageA.Class1 e gera uma classe UML denominada Class1 em um pacote UML denominado
PackageA.
Se o nome do arquivo de artefato especificado no modelo de mapeamento não for um nome de arquivo Java válido, então, a transformação modifica o nome do arquivo ao criar o elemento de código Java. Por exemplo, se o modelo de mapeamento especifica um nome de arquivo alternativo
"Mapped Class1", em vez de MappedClass1, a transformação gera um arquivo Java denominado Mapped_Class1.java. A transformação não mantém um registro dessas publicações; portanto, a transformação de Java em UML não pode mapear o arquivo Mapped_Class1 para o elemento UML original. Neste exemplo, a transformação de Java em UML transforma o objeto de origem
Mapped_Class1 Java em uma classe UML denominada Mapped_Class1, em vez de Class1.
- Clique em .
Resultados
As opções serão aplicadas na próxima vez em que você
executar a transformação.