En esta ocasión os voy a hablar de unos métodos de los closures de Groovy que no conocía hasta hace poco tiempo (lo sé lo sé, seguro que muchos ya los conocíais de antes...), se trata de los métodos curry, rcurry y ncurry.
Aquí encontrarás trucos o cosas útiles de programación que he ido encontrando a lo largo de mis días
remotePaginate y remoteSortableColumn que permiten paginar y ordenar las columnas de forma remota.
Path crawlDb = new Path(dir + "/crawldb_"+id);
Path crawlDbDestino = new Path(dir+"/crawldb");
Path crawlDbNuevo = new Path(dir+"/crawldb2");
//Aquí hay más código, pero no relacionado con este tema
Path[] crawlDbs;
if (!fs.exists(crawlDbDestino))
{
crawlDbs = new Path[1];
crawlDbs[0] = crawlDb;
crawldbMerger.merge(crawlDbDestino, crawlDbs, false, false);
fs.delete(crawlDb,true);
}
else
{
crawlDbs = new Path[2];
crawlDbs[0] = crawlDb;
crawlDbs[1] = crawlDbDestino;
crawldbMerger.merge(crawlDbNuevo,crawlDbs,false,false);
fs.delete(crawlDbDestino, true);
fs.rename(crawlDbNuevo, crawlDbDestino);
fs.delete(crawlDb,true);
}
def nombre = nombre?:"desconocido" def otro = nombre=="desconocido"?"a":"b"
grails -Dserver.port=8090 run-app
grails.server.port.http=8090
def truncarNombre = {attrs ->
def maximo = new Integer(attrs['max'])
def max = (attrs['nombre'].length()-1>maximo)?maximo:attrs['nombre'].length()-1
def nombre = attrs['nombre'][0..max]
if (attrs['nombre'].length()-1>maximo)
nombre = nombre +'...'
out << nombre.encodeAsHTML()
}
<g:truncarTexto texto='texto que queréis truncar por ser demasiado largo' max='10'/>
bin/nutch org.apache.nutch.parse.ParserChecker