Framework para la creación de formularios de mantenimiento

La semana pasada me encargaron en el trabajo hacer unos formularios de mantenimiento para ciertas tablas de una base de datos, éstos tenían que estar en swing, y pues, mientras escribía los DAOs para estas tablas pensaba si existía alguna manera de simplificar la tarea de crear estos formularios que realmente es un trabajo repetitivo:

– Cargar una tabla, mostrar los datos.

– Buscar algún mecanismo para actualizar, borrar e insertar nuevas entradas.

En pocas palabras esta operación es un CRUD sobre sobre una tabla con algunas operaciones de validación adicionales.

Entonces comenzé a desarrollar un pequeño grupo de clases e interfaces que sirven a este propósito,  el resultado a la fecha es un pequeño framework que basándose en anotaciones y reflexión de Java puede generar automáticamente formularios de mantenimiento de swing a partir de JavaBeans/POJOs anotados y DAO’s para acceder a las operaciones CRUD.

Me gustaría conocer su opinión, pueden descargar el código fuente a través de SVN desde el repositorio de sourceforge.net

https://crudswinggen.svn.sourceforge.net/svnroot/crudswinggen

Actualmente soporta claves claves foráneas a partir de POJO’s anotados también.

Pueden ejecutar el proyecto desde la clase net.sf.crudswinggen.view.GenericMaint que usa algunos datos de ejemplo incluídos en el proyecto. Por cierto, el proyecto  utiliza maven para la gestión de dependencias y yo estoy utilizando el plugin de maven para netbeans.

También estoy pensando en agregar algún mecanismo para especificar las reglas de validacion de cada uno de los atributos de los POJOs con anotaciones.

Si estás interesado en participar en este pequeño proyecto para ponerlo a punto para producción no dudes en ponerte en contacto conmigo.

El jar adjunto puede ser ejecutado directamente, y éste utiliza colecciones para simular los datos persistidos.

http://www.2shared.com/file/9671818/7b66ca57/crudswinggen-10-SNAPSHOT-jar-w.html

Leave a Reply

Your email address will not be published. Required fields are marked *