ERP Software news and article for the small and midsize business sector

ERP for Small and Midsize Businesses

Subscribe to ERP for Small and Midsize Businesses: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get ERP for Small and Midsize Businesses: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


ERP for SME Authors: Javier Paniza, Liz McMillan, Harry Trott, Karen Miranda, Esmeralda Swartz

Related Topics: RIA Developer's Journal, Java EE Journal, Java Developer Magazine, ERP for Small and Midsize Businesses

ERP for SME: Press Release

OpenXava 4.6: Desarrollo Rápido Java para aplicaciones Web

OpenXava 4.6 tiene algunas nuevas funcionalidades muy interesantes, como por ejemplo

OpenXava es una herramienta para el Desarrollo Rápido de aplicaciones Web, apropiada para aplicaciones de gestión y orientadas a bases de datos.
OpenXava permite desarrollar aplicaciones simplemente escribiendo clases del dominio con Java o Groovy. La interfaz de usuario se genera automáticamente en tiempo de ejecución, sin generación de código.

OpenXava 4.6 tiene algunas nuevas funcionalidades muy interesantes, como por ejemplo:

  • Generación de reportes personalizados desde la lista.

  • Es posible personalizar el modo lista definiendo tu propio editor.

  • Puedes asignar un objeto del modelo (una entidad o un objeto transitorio) a una vista para llenarla con datos.

  • En las pruebas jUnit ahora es posible verificar el contenido de los PDFs generados.

  • Nueva anotación @RowAction para colecciones.

  • Etiquetas y mensajes disponibles en ruso.

  • El nombre de archivo de los informes generados incluye el nombre del modelo y la hora.

Y muchas otras nuevas funcionalidades y arreglos.

Generación de reportes personalizados desde la lista

En modo lista hay una acción nueva llamada Informe personalizado:

Cuando el usuario pulsa en ella obtiene el siguiente dialogo:

Este diálogo permite al usuario definir su propio informe. Puede añadir y quitar columnas, especificar filtros, ordenaciones y poner el título del informe. Es cierto que esta funcionalidad ya estaba disponible con la acción Generar PDF de toda la vida, porque el usuario siempre ha podido añadir, quitar y mover columnas, y filtrar y ordenar en la lista. Quizás, la única ventaja de la nueva interfaz es que el usuario puede especificar el orden para más de una columna y establecer el título de informe que quiera. Lo importante es que esta nueva forma de generar informes nos permitirá añadir nueva funcionalidad interesante en nuevas versiones como guardar la configuración del informe por nombre para recuperarlo más tarde, especificar etiquetas y longitudes, usar columnas ocultas para filtrar y ordenar, etc.

Editor personalizado para modo lista

El modo lista estándar es bastante potente y perfecto para la mayoría de los casos, pero a veces necesitamos algo especial para nuestra lista. Para cubrir esta necesidad hemos añadido la posibilidad de definir editores personalizados para los @Tab. Por lo tanto, si quieres que la lista de clientes sea visualizada de esta forma:

Has de definir un @Tab en tu entidad como sigue:

@Tab ( name ="Fichas", editor="ListaFichasCliente",

properties="codigo, nombre, tipo, direccion.ciudad, direccion.provincia.nombre"

)

Y también definir el editor en el archivo editores.xml de tu proyecto:

<editor nombre="ListaFichasCliente" url="fichasClienteListEditor.jsp"/>

Por supuesto, has de escribir fichasClienteListEditor.jsp para visualizar los clientes a tu manera. Puedes ver más detalles sobre cómo escoger un editor para un @Tab en la guía de referencia.

Además, es posible definir un editor para todas las listas de un modelo o incluso para todas la listas de tu aplicación. Mira el capítulo de personalización de la guía de referencia.

Con la adición de la listas ahora tenemos editores para propiedades, referencias, colecciones y listas, de esta manera   la personalización de la interfaz de usuario generada por OpenXava es total. Puedes obtener exactamente la interfaz de que quieras.

>Asignar objetos del modelo directamente a la vista

Hasta ahora para poner y coger datos desde una vista basada en una clase transitoria necesitabas usar getView().get/setValue() con valores simples o getView().get/setValues() con mapas, no podías usar objetos del modelo directamente. A partir de OpenXava 4.6 puedes usar objetos del modelo para llenar la vista. Por tanto, un código como este es posible:

RangoFechas rango = ... // RangoFechas puedes ser una entidad o una clase transitoria

...

getView().setModel(rango); // Llena la vista con los datos de rango

Este cado llena la vista con los dato del objeto RangoFechas, incluso si la vista no está visualizando en estos momento un RangoFechas se cambia para hacerlo.

Verificar contenido de los PDFs en las pruebas jUnit

Ahora puedes verificar que el contenido de los PDFs generado en tus pruebas jUnit es correcto. Para hacer esto ModuleTestBase tiene los siguientes métodos nuevos: getPopupPDFAsText(), printPopupPDFAsText(), getPopupPDFLine(), assertPopupPDFLine(), assertPopupPDFLinesCount() y getPopupPDFLinesCount(). A partir de ahora puedes escribir código de prueba como el siguiente:

execute("CustomReport.generatePdf");

assertPopupPDFLinesCount(5);

assertPopupPDFLine(1, "Reporte de transportistas jUnit");

assertPopupPDFLine(2, "Nombre Numbre Zona");

assertPopupPDFLine(3, "CUATRO 4 1");

Una buena noticia para todos aquellos que nos gusta las pruebas automáticas.

@RowAction paras colecciones

@RowAction permite definir una acción que se muestre en cada fila, pero no en la barra de botones de la colección. Si escribes un código como este:

@OneToMany(mappedBy="parent", cascade=CascadeType.ALL)

@RowAction("DetallePedido.reducirCantidad")

Collection<DetallePedido> detalles = new ArrayList<DetallePedido>()

Obtienes la siguiente interfaz de usuario para la colección:

Fíjate en que la acción Reducir cantidad está en la fila pero no en la barra de botones. Lee más sobre @RowAction en el wiki.

Y más

Mira la lista de cambios para la lista completa de nuevas características y arreglos.


Descarga OpenXava 4.6 y pruébalo

More Stories By Javier Paniza

Javier Paniza is the project lead for OpenXava project. He works as software developer at Gestión 400, a software company for public administration in Spain. He has been developing with Java Enterprise since 1998. Also he has been J2EE mentor for development teams in banking projects.