openxava / documentación / Modificar código de XavaPro

Las ediciones Enterprise y Corporate de XavaPro incluyen el código fuente completo, por lo que puedes modificar el código de XavaPro para adaptarlo a tus necesidades, corregir un error, añadir una nueva función, etc..
El código fuente de XavaPro está incluido en la distribución de XavaPro, dentro de una carpeta llamada source-code:

Puedes modificarlo, compilarlo e instalarlo usando Maven y tu IDE favorito. Si no estás acostumbrado a Maven, aquí te presentamos una guía detallada para modificar el código de XavaPro para tu aplicación usando OpenXava Studio.

Instalar un JDK 8

XavaPro está compilado con Java 8 para poder trabajar con Java 8, 11 y 17. Tienes que instalar Java 8 en tu ordenador y configurar OpenXava Studio para reconocerlo. 
Primero, descarga un JDK 8 e instálalo en tu ordenador. Luego en OpenXava Studio abre Windows > Preferences > Java > Installed JREs. Una vez allí, añade el JDK 8 a la lista de JREs. De este modo:
Fíjate como no es necesario elegirlo como predeterminado.

Importar xavapro en el workspace

Para importar el proyecto xavapro pulsa en File > Import...:

Ahora selecciona General > Existing Projects into Workspace y pulsa en Next:


En Select root directory pulsa en Browse... para escoger la carpeta donde está el código de XavaPro, es decir xavapro-7.x.x/source-code:


Asegurate de que el proyecto xavapro está marcado y pulsa en Finish.

Al final, el proyecto xavapro con todo su código estará en tu workspace:

Ahora puedes modificar el código de xavapro a tu gusto.

Modificar el código de XavaPro

Primero, cambia la versión en xavapro/pom.xml para que sea un SNAPSHOT. Abre el pom.xml dentro del proyecto xavapro y añade el sufijo -SNAPSHOT al número de versión:

Significa que es una versión de trabajo, no con funciones congeladas sino lista para ser modificada.

Ahora es el momento de modificar el código. Por ejemplo, edita el código de ProSignInHelperProvider.java y añade una condición adicional en el método isAuthorized(), como esta:

Luego haz un mvn install en xavapro, de esta forma:

En esta ocasión no ha sido necesario hacer un mvn clean porque es la primera vez y target está vacío, pero si obtienes el código de una versión nueva de XavaPro deberías hacer un mvn clean también.

Ahora, ve a tu proyecto, edita el pom.xml y pon la propiedad openxava.version al valor de la versión SNAPSHOT de XavaPro que tienes en tu workspace:

Esto es importante, de lo contrario tu proyecto no usará el xavapro que has modificado, sino la versión oficial de tu repositorio Maven.

Después haz un mvn clean en tu proyecto:

Y un mvn install también en tu proyecto:

¡Enhorabuena! Tu proyecto está listo para ejecutarse con tu XavaPro modificado. Pruébalo.

Acortar el ciclo de modificación

Los pasos anteriores son para la primera modificación. A partir de ahora, las próximas modificaciones serán mucho más fáciles, solo tres pasos:

  1. Modifica el código de xavapro.
  2. Haz un mvn install en xavapro.
  3. Haz un mvn war:exploded en tu proyecto. Para esto puedes usar Run As > Build Maven ...

Eso no es todo, también puedes iniciar tu aplicación en modo de depuración, pulsando el botón con el escarabajo:

De esta forma puedes modificar el código en xavapro y ver el resultado al instante, incluso sin reiniciar tu aplicación o recargar el navegador. Magia pura.