Acceder a un servicio desde la Consola de Grails

Una interesante opción de Grails, es el comando grails console que permite iniciar la aplicación y además ofrecer el uso de una consola de Groovy. En esta consola se tiene todo el entorno de la aplicación.

Para poder usar un servicio de la aplicación se debe cargar en la consola con un código como es este:

def service = ctx.getBean("mySecretService")
def result = service.secretSquirell()

Captura

Yo sólo comparto lo aprendido en este artículo  de On The Rhoads/Brad . Gracias a su autor por compartir sus conocimientos.

Publicado en Grails | Deja un comentario

Manejando Listas, Mapas y más cosas con underscorejs

He visto por ahí esta librería de JavaScript y lo comparto con todos.

http://underscorejs.org/

Ejemplo de esta librería:

   _.each([1, 2, 3], function(num, i) {
      equal(num, i + 1, 'each iterators provide value and iteration count');
    });

    var answers = [];
    _.each([1, 2, 3], function(num){ answers.push(num * this.multiplier);}, {multiplier : 5});
    equal(answers.join(', '), '5, 10, 15', 'context object property accessed');

    answers = [];
    _.forEach([1, 2, 3], function(num){ answers.push(num); });
    equal(answers.join(', '), '1, 2, 3', 'aliased as "forEach"');

    answers = [];
    var obj = {one : 1, two : 2, three : 3};
    obj.constructor.prototype.four = 4;
    _.each(obj, function(value, key){ answers.push(key); });
    equal(answers.join(", "), 'one, two, three', 'iterating over objects works, and ignores the object prototype.');
    delete obj.constructor.prototype.four;

    var answer = null;
    _.each([1, 2, 3], function(num, index, arr){ if (_.include(arr, num)) answer = true; });
    ok(answer, 'can reference the original collection from inside the iterator');

    answers = 0;
    _.each(null, function(){ ++answers; });
    equal(answers, 0, 'handles a null properly');

 Recursos:

  • GitHub del proyecto: enlace.
Publicado en JavaScript | Deja un comentario

Forzar Left Join en Criteria en Grails.

Por razones laborales he tenido que ejecutar una consulta donde se debía realizar una consulta con un LEFT JOIN.

def result = Tabla.withCriteria {
createAlias ('tabla2','t2',CriteriaSpecification.LEFT_JOIN)
          eq ('t2.valor', valor)
}

Donde Tabla sería.

class Tabla {

     Tabla2 tabla2
}

 

Recursos:

Publicado en Grails | Deja un comentario