Por Que e Quando Desempenhar 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.
- Dependendo da visualização na qual está trabalhando, execute uma das seguintes etapas:
- Na visualização Pattern Explorer, 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 da 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 ou nome de pasta completo. 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 ser ligada a um recurso para aparecer 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 alterações 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 você pode utilizar para comprara a origem e o destino e reconciliar alterações.
Você também pode selecionar essa opção se diferentes equipes implementarem, desenvolverem ou mantiverem a arquitetura.
- 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.
- 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áquicos. 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.
- Para especificar se a transformação gera elementos e estereótipos UML
usando as informações em um descritor de implementação, selecione a caixa de opção Usar um
descritor de implementação para gerar elementos UML.Por padrão, essa opção não é selecionada, e a
transformação gera elementos e estereótipos UML usando as anotações JPA no código
Java da origem da transformação.
- 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.
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 de UML em JPA estiver disponível, você poderá selecionar a caixa de opção
Executar a transformação reversa silenciosamente. Especificar que a transformação de UML em JPA 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 JPA sobrescreve arquivos, se necessário.
- 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 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. Você pode 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, Seqüê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 preeche 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 seqüencias 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.
Cnsulte 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 define 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.
- Clique em .