terça-feira, 1 de junho de 2021

Substituido Entidades em um projeto Java

Este post é um pouco diferente dos demais já que vou tratar mais de um passo-a-passo do que fazer ao invés de trazer código.

 

Não sei se você já passou pela necessidade de precisar trocar uma entidade por outra em todo o sistema, mas quando isso acontece o trabalho é enorme. 

 

Entidades são as classes javas que são mapeadas para o banco de dados. Normalmente, aplicando as boas práticas e padrões de projeto em um determinado sistema, temos uma entidade para uma tabela, claro que podemos ter VOs (ou DTOs como tbm são conhecidos), mas falo de uma classe que vai ser a responsável pelo objeto inserido no banco, atualizado, apagado, enfim, o bean persistente. Em um projeto que trabalhei, não sei porque fizeram isso (falta de um arquiteto ou diria mesmo de uma pessoa com boa noção de O.O.), essa regra básica não foi seguida, e tinhamos 3, 4 ou até 6 classes diferentes apontando para a mesma tabela, com basicamente as mesmas propriedades, mudava apenas uma ou outra, e que ainda tinham sua própria classe de negócio e seu próprio controller. Ou seja, duplicação (ou melhor, multiplacação) de código enorme, regras espalhadas, bagunça total.

Nesse cenário caótico, eu precisei juntar as várias cópias de duas entidades principais, uma que tinha 6 classes e outra que tinha 4, e deixar apenas uma de cada. Não foi feito a junção do controller nem das classes de negócio devido ao tamanho, complexidade e tempo, mas ter apenas um objeto trafegando entre elas facilitou bastante as coisas. E pra fazer isso nesse sistema que é grande, eu usei o seguinte passo a passo:

1.     Juntar todas as propriedades em uma unica entidade removendo as repetidas mas não apagar nesse momento as classes duplicadas.

 

2.     Para cada uma das classes que serão eliminadas faça o seguinte: use o Search do eclipse na opção File Search seguindo os padrões abaixo, ao retornar resultados, clique com botão direito na aba que abriu de mesmo nome da funcionalidade (Search) e escolha a opção substituir todos, e vá substituindo pela nova classe. 

 

1.     Marque a opção Case Sensitive pra todas as buscas

 

2.     Procure os imports e substitua pelo import da classe que vai ficar

 

3.     Procure o nome da classe com um parêntese no início – com ou sem espaço dependendo do padrão de codificação usado no projeto entre o nome e os parênteses. Ex: (Usuario  

 

4.     Procure o nome da classe com o parentese no final – com ou sem espaço dependendo do padrão de codificação usado no projeto entre o nome e os parênteses. Ex: Usuario( 

 

5.     Procure o nome da classe com entre parênteses – com ou sem espaço dependendo do padrão do projeto entre o nome e os parênteses. Ex: (Usuario)

 

6.    Procure o nome da classe entre os sinais de menor que ‘<’  e maior que ‘>’. Ex: <Usuario>

 

7.    Procure o nome da classe entre espaços. Ex: Usuario

 

8.    Procure o nome da classe seguido do .class. Ex: Usuario.class

 

Nesse ponto, podem haver alguns erros apontados na aba Problems do Eclipse, geralmente são alguns imports que são necessários corrigir na mão Pronto, agora apague a(s) classe(s) que não deseja mais.

Nenhum comentário:

Postar um comentário