[quote=Grinvon]Geradores são úteis para rotinas repetidas, e nisso eu me foquei em fazer um gerador que me atenda ao requisito de minimizar o tempo fazendo algo que sei que não “muda”, ou ele faz todo o processo básico e depois vou moldando o código conforme a minha necessidade. Fiz da seguinte forma, ele lê uma pasta por xmls pré definidos, no caso o meu projeto deve ter obrigatóriamente o arquivo project.xml, ele lê esse XML, e desde então cria a estrutura básica do projeto. Para mim está resolvendo um mucado, eu “salvo” um tempo bom nele. Vejam um exemplo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="SCAObras" fullname="Sistema de Consulta de Auditoras de XXX" author="Inocêncio T. de Oliveira">
<build process="clean-build" model="true" business="true" test="true" verbose="true"/>
<package root="br.com.projeto.|name|"
model="br.com.projeto.|name|.dados"
business="br.com.projeto.|name|.negocio"
test="br.com.projeto.|name|.test" test-folder="test"
backing-bean="br.com.projeto.|name|.web.bean"/>
<entities>
<process name="Cliente" />
</entities>
</project>
Depois ele procura arquivos modelos xml em uma pasta chamada models, para cada modelo xml definido ele cria um estrutura de entidade, uma estrutura básica de classe de négocio, classe de teste e depois (next release) uma estrutura de CRUD web (se for o caso).
Ou seja, desde que você tenha o controle dele e saiba o que está fazendo, para algumas coisas pode ser de fato útil e eficiente, mas nunca espere que geradores de código irão resolver a sua vida definitividade.[/quote]
Bem interessante o seu… eu tbm fiz um parecido… nele vc configura a “pagina” e ele gera todo o crud simples pra vc… digamos em um CRUD pessoa… vamos limitar este crud em somento o atributo nome… vc primeiro mapeia a tabela pessoa com o hibernate e gera sua classe pessoa pelo gerador do plug-in para o hibernate… depois vc cria um arquivo: “pessoa.xml” dai vc coloca os campos que vc quer digamos:
<manter tipo="grid">
<input-text name="nome" label="Nome da Pessoa" not-null="true" />
</manter>
<exclusao>
<read-label name="nome" label="Nome da Pessoa" />
</exclusao>
dai vc manda gerar o bagulho todo indicando onde seu arquivo pessoa.xml ta
ele pega seu arquivo pessoa.xml e cria a jsp de inclusão, a jsp com grid de pesquisa com os filtros (no caso nome), a jsp para alterar e a jsp para excluir a pessoa com os campos (neste caso nome) para o usuario verificar se é esta mesma a pessoa que ele quer excluir… alem das jsps ele gera toda a estrutura de classes mvc: PessoaAction, PessoaDTO, PessoaDAO…
ou seja para vc fazer um crud simples para cadastrar, pesquisar com filtro uma pessoa, alterar e exclui-la vc só precisa mapeala com o hibernate a tabela pessoa no seu banco e criar um arquivo pessoa.xml mandar o gerador executar este arquivo e fim de papo… vc tem um CRUD simples com: inclusão, alteração, pesquisa e remoção da sua entidade…
porem este gerador so funciona para cruds simples… não da pra por muita frescura… mas ele é sempre util… mesmo nos cruds complexo pois eu mando gerar toda estrutura simples de jsps e classes do meu crud e depois altero as classes para torna-las mais complexas e atender a necessidade do negocio… com isto tenho um ganho consideravel em produtividade…
Quando eu tiver tempo quero aposentar o plug-in de mapeamento do hibernate do netbeans e criar meu proprio… assim mato ate o pessoa.xml e faço dai a leitura direto da tabela pessoa e crio toda a estrutura para o crud pessoa por exemplo… so deixando o pessoa.xml para casos onde preciso customizar filtros, campos, etc… em um crud simples ele criaria em 5min… dai e so criar tda a estrutura e modificar o que vc quiser… o bom do meu gerador e que vc pode configurar a nomeclatura das classes e atributos, e incluir comentarios… dai ele monta tudo bonitinho, com comentario e nomeclatura correta…