Configurando Transformações de EJB 3.0 em UML

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á através da configuração.
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.

  1. 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 Arquivo > Novo > Configuração da Transformação. Se Configuração da Transformação não for um item de menu, clique em Arquivo > Novo > Outro > Transformações > Configuração da Transformação.
  2. 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:
    1. No campo Nome, especifique um nome para a configuração.
    2. 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 (/).
    3. 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.
  3. 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.
      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, páginas adicionais se tornam disponíveis noeditor de configuração de transformação. Para obter informações sobre como configurar a transformação reversa, consulte o link relacionado a seguir.
  4. Clique em Avançar.
  5. 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:
    1. No painel Origem selecionada, selecione o elemento de origem para a transformação ser realizada.
    2. 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.
  6. Clique em Concluir. O editor de configuração de transformação é aberto, e o conteúdo da configuração é exibido.
  7. 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.
  8. 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 Janela > Preferências; 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.

  9. 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 EJB 3.0 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 EJB 3.0 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 EJB 3.0 sobrescreve arquivos, se necessário.

  10. 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.
  11. 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.

  12. 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:
    1. No campo Nome do arquivo de associação de Java em UML, especifique um nome de arquivo.
    2. 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.
  13. Clique em Arquivo > Salvar.
Resultados
As opções serão aplicadas na próxima vez em que você executar a transformação.

Feedback