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 o modelo de destino for o artefato de engenharia
primária, clique em Combinado.
A transformação converte os artefatos de origem para representações visuais que estão conectadas diretamente ao artefato de destino. Selecione essa opção para trabalhar no domínio de destino em vez de com o modelo de origem ou para reter os artefatos para análise. A saída da transformação torna-se o artefato de engenharia primário.
- 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.
- Opcional: Especifique as propriedades de geração de códigos que são exclusivas para a
UML-para-Java,
que é executada como parte da transformação de UML em JPA. Na página
Principal,
complete uma ou mais das seguintes etapas:
- Para gerar métodos getter e setter na saída da transformação, selecione a caixa de
opção Gerar métodos Getter e Setter. Se a transformação gera um método setter para uma
propriedade UML depende dos valores específicos da propriedade no
modelo de origem.
Você pode verificar os valores da propriedade UML na visualização
Propriedades:
- Na guia Geral, se você selecionar a caixa de opção Folha ou De
Leitura, nenhum setter será gerado. Se você selecionar a caixa
de opções Derivado da propriedade, a implementação de
setter estará vazia.
- Na página Avançado, se você configurar o valor É Folha ou É de somente
Leitura como true, nenhum setter será gerado. Se você configurar o valor É Derivado da propriedade
como true, a implementação de setter estará vazia.
- Para gerar código compatível com o Java™ 2 Platform, Standard Edition (J2SE)
5.0, selecione a caixa de opção Gerar código compatível com o J2SE 5.0. Se você desmarcar essa opção, a transformação gerará código compatível
com versões do J2SE 1.4. Essa caixa de opção está disponível apenas quando você configura
uma transformação UML-para-Java.
- Para gravar em disco apenas os arquivos que são alterados após a execução das transformações,
selecione a caixa de opção Gravar apenas os arquivos de atualização em disco.
Se você selecionar essa opção e estiver trabalhando com modelos grandes,
poderá se deparar com uma redução no desempenho porque a transformação deve
determinar os arquivos que foram atualizados e remover os arquivos que não foram
atualizados a partir de sua lista na memória. Se trabalhar em um ambiente de equipe, você
também poderá selecionar essa caixa de opção para eliminar operações de registro de saída desnecessárias e
a reversão de operações de registro de saída.
Se você desmarcar essa caixa de opção, a
transformação não removerá os arquivos inalterados de sua lista na memória. Depois que a transformação for executada, ela tentará gravar os arquivos alterados e inalterados
em disco. Em um ambiente de equipe, você poderá reverter manualmente as
operações de registro de saída para arquivos que a transformação não atualizou.
- Para incluir uma dependência de projeto Java no projeto de
destino, selecione a caixa de opção Gerar dependência de projeto Java.
Essa opção
está disponível quando você cria um arquivo de associação de Java em UML na página Associações Java em UML.
Se você selecionar essa caixa de opção, quando a
transformaçãoUML-para-Java encontrar uma referência UML, a
transformação compara a referência ao modelo de associação de Java em UML. Se uma referência UML mapeia para
um projeto Java que não seja o destino atual da transformação, a
transformação inclui uma dependência de projeto Java no projeto de
destino.
- Opcional: Especifique se os arquivos Java correspondentes que a
transformação de UML em Java gera devem ser excluídos quando você reexecutar a transformação. Na página
Principal,
selecione uma opção na seção Excluir arquivos gerados obsoletos.
Por exemplo, se você excluir elementos de modelo, convém excluir os arquivos gerados
correspondentes. Por padrão, a transformação não exclui arquivos obsoletos.
- 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 JPA em UML estiver disponível, você poderá selecionar a caixa de opção
Executar a transformação reversa silenciosamente. Especificar que
a transformação JPA–para-UML, ou reversa, seja executada no modo silencioso suprime o
editor de mesclagem. Se ocorrer um conflito durante a fusão, a transformação pára
e você deve executar novamente a transformação com as opções de silenciosa desmarcadas.
- 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.
Você pode 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 valores para as propriedades de geração de código
que são exclusivas para a transformação UML-para-JPA. Na página Propriedades, especifique valores para as
seguintes propriedades:
| Opção |
Descrição |
| Gerar um descritor de implementação |
Por padrão, essa propriedade é definida para false, e a transformação não gera arquivos
nomeados orm.xml e persistence.xml na pasta META-INF do projeto de destino.
Em vez disso, a transformação gera anotações JPA no código Java gerado. Defina essa propriedade para true para especificar se a transformação gera esses arquivos XML e os
elementos XML que correspondem aos elementos UML nos modelos de origem. A transformação não gera as anotações
JPA correspondentes no código Java, e ele exclui as anotações que gera
previamente no código.
Para preservar as mudanças feitas em um elemento XML, exclua sua tag
<!–@generated –> correspondente.
Se elementos duplicados existirem no código e
no arquivo XML, os elementos gerados no arquivo XML substituem as anotações geradas no código.
|
| Gere operações iguais e hashCode para todas classes da entidade |
Por padrão, essa propriedade é definida para false, e a transformação não gera essas
operações.Para gerar essas operações, conclua as seguintes etapas: - Defina essa propriedade para true.
- Aplique o estereótipo «Entity» à classe que contém as propriedades para gerar as operações iguais e
hashCode.
- Aplique o estereótipo «Id» às propriedades.
|
| Gerar consultas nomeadas para todas as classes de entidade |
Por
padrão, esta propriedade é configurada como true e a transformação gera
uma consulta nomeada para cada entidade JPA; a transformação sobrescreve as consultas
nomeadas existentes no código. Para evitar a geração de
consultas nomeadas e para proteger consultas nomeadas existentes no código do bean de entidade,
configura esta propriedade como false.
|
Nota: Para refinar como a transformação UML-para-JPA gera entidades Java Persistence
API (JPA), você pode estender a transformação e definir propriedades
na extensão de transformação. As propriedades que você define são exibidas na página Propriedades ao criar
uma extensão de transformação.
- Para cada tipo de coleta UML no projeto de origem, você pode especificar
o tipo de coleta Java
que a transformação UML-para-Java
gera. Uma
coleta representa um grupo de elementos de modelo. O tipo de coleta determina
se os elementos de modelo duplicados na coleta poderão existir ou se os
elementos de modelo serão ordenados.
- Na página Coletas, a partir de cada lista de tipos de coleta UML, selecione
um tipo de coleta Java. Para especificar um valor
customizado, digite o valor no campo de coleta apropriado. Para obter mais informações
sobre tipos de coleta UML, consulte o tópico de conceito relacionado para essa transformação.
- Opcional: Para criar um arquivo que define as interdependências de elementos
Java e elementos UML, crie um arquivo de associação de Java em UML.
Esse recurso é ú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 e para evitar erros do compilador.
Para criar um arquivo de associação, clique na guia Associações de Java em UML, e
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.
Use a opção Gerar dependências do projeto Java na página
Principalpara
ativar ou desativar a criação de relacionamentos entre elementos Java e
UML. Para obter informações adicionais sobre suporte para diversos projetos e suas interdependências, consulte o tópico de conceito relacionado abaixo.
- Opcional: Se a transformação configurada suporta mapeamento, é possível especificar nomes
alternativos para os artefatos que a transformação gera criando um modelo de mapeamento. Para utilizar um
modelo de mapeamento novo ou existente, conclua as seguintes etapas:
- No editor de
configuração de transformação,
na página Mapeamento,
selecione a caixa de opção Ativar a funcionalidade de
mapeamento para essa configuração.
- No campo
Nome do arquivo de modelo de mapeamento,
especifique o nome de um modelo de mapeamento novo ou existente.
- Clique em .