Cómo cambiar el banner de Spring en aplicaciones de Grails 3

Una vez que logramos descubrir los secretos para que las aplicaciones de Grails 3 se puedan desplegar en un Tomcat sin problemas, veremos que cuando se inicializan aparece un lindo ascii art. Si tenemos varias aplicaciones, todos los banners son iguales. Lo cual además de ser aburrido, no ayuda a identificar que aplicación se está […]

Interpolación de Strings en Groovy y Map con valores por Default

Todos los usuarios de Groovy o Grails saben lo bueno que es la interpolación de GStrings, la cual funciona tan bien que a veces nos olvidamos que no son Strings de java lo que estamos manejando. Hoy me surgió el problema de leer un string desde un archivo y en ese string tener expresiones como […]

Simular un Redirect con método POST

Tarde o temprano, cualquier desarrollador se encuentra con el deseo de poder realizar un Redirect a una página, pero pasarle parámetros por POST en lugar de hacerlo como si fuera un GET. Lamentablemente esto es imposible, porque por su funcionamiento un Redirect a otra página siempre será un GET. La única forma de realizar un […]

Grails Searchable con No-ORM y varios datasource

Estamos trabajando en un proyecto que tiene algunas peculiaridades, la más interesante de ellas es que convivimos con un modelo en hibernate considerando una estructura de tablas legacy (para lo que definimos un datasource adicional personalizado). El modelo del proyecto es más o menos así: datasource directo a mongodb donde guardaremos todo nuestro modelo basado […]

Mi reflexión sobre Herencia Múltiple en Java 8

Este artículo lo envíe como una conversación interna en la empresa, pero me parece interesante compartir mi opinión al respecto. Esta reflexión mia nació luego de leer: http://blog.loxal.net/2013/05/java-8-default-interface.html Hace poco dije en un email que java me parecía un lenguaje que estaba quedando obsoleto. Que carecía de muchas de las herramientas de le gustes más […]

Como cambiar el puerto default en que se ejecuta una aplicacion de grails.

Simple… estoy desarrollando dos aplicaciones en grails que necesito ejecutar simultáneamente. Por default, grails utiliza el puerto 8080 para todas las aplicaciones, entonces no se pueden tener dos aplicaciones a la vez si no se le cambia el puerto a una de ellas. Hasta hoy, utilizaba un comando al estilo grails -Dserver.port=8081 run-app pero siempre […]

Efectos de la manipulación de metaClass en Groovy / Grails

Haciendo unas pruebas unitarias en grails me encontré con un comportamiento de Groovy que desconocía. Desde la versión de Groovy 1.6 se puede manipular el metaclass de una instancia (al menos fácilmente) además de hacerlo para toda la clase como es costumbre. Para realizar un test, debía agregar por metaClass dos métodos, uno sobre la […]

Utilizar mockConfig en test de Grails

Necesitaba realizar test unitarios en una aplicación que estamos desarrollando y una de las clases que quería testear accedía, por medio del ConfigurationHolder a datos que debían ser cargados en el Config.groovy Una búsqueda rápida en google arrojó varios resultados sobre como utilizar la magia del metaClass de groovy para mockear manualmente los objetos y […]

Programar Groovy y Grails con gedit (Ubuntu)

Si bien he probado varios entornos de trabajo, a lo largo del tiempo, para desarrollar en Grails, siempre vuelvo a mi viejo amor: gedit (gnome-editor)) Por defecto, no tiene soporte para el lenguaje Groovy, pero es fácilmente configurable, e incluso sin necesidad de permisos de adminsitrador, permitiéndonos configurar nuestor ambiente de trabajo, sin modificar la […]

Reflexiones y descubrimientos relacionados con mime-type, gedit y smarty

Siempre me molestó que para hacer que gedit reconozca un determinado tipo de archivos de una determinada manera, tenía que modificar archivos en el directorio /usr Particularmente lo que me molestaba tener que actualizar eran los tipos MIME que identifican un determinado archivo, con un determinado tipo y gedit como nautilus utilizan para saber como […]