jueves, 30 de junio de 2011

Parametros de ordenamiento en listas Parcialmente ordenadas en displayTag

 A veces necitamos que no sea displaytag lo que ordene y pagine la colección (para no tener toda la colección en memoria) y manejar el ordenamiento nosotros mismo.

 displaytag ofrece un mecanismo por el cual uno desde el action de struts puede obtener datos necesarios para la paginación y ordenamiento como son el nombre de la columna y el numero de pagina.

  Tales parámetros se pueden obtener del siguiente modo

para saber el nombre (nombre definido en la propiedad sortName="" de la tabla de displaytag)
request.getParameter(paramEncoder.encodeParameterName(TableTagParameters.PARAMETER_SORT))   

y este es para saber el orden 1 o 2 (ASC o DESC)
request.getParameter(paramEncoder.encodeParameterName(TableTagParameters.PARAMETER_ORDER))

Es importante tener en cuenta que cuando se invoca por primera, no va a tener un valor, va a ser vacío,
para evitar eso se puede asignar un valor por defecto utilizando el método defaultIfEmpty de la clase org.apache.commons.lang.StringUtils

StringUtils.defaultIfEmpty(request.getParameter(paramEncoder.encodeParameterName(TableTagParameters.PARAMETER_ORDER)),"1");
 y en la primera vez que va a estar vacío se le asignara el "1".

viernes, 6 de mayo de 2011

Manejando fechas con Calendar

A veces necesitamos para nuestro sistema trabajar con fechas, y puede que, para un proceso determinado se necesite trabajar con por ejemplo los 12 meses anteriores a la fecha actual.

En este ejemplo se manejan fecha con Calendar; Calendar de java maneja fechas su instancia no se crea con new sino que se obtiene con getInstance()

-- code --
import java.text.SimpleDateFormat;
import java.util.Calendar;


public class TimePOC {
    public static void main (String[] args){
       
    Integer countMonth, month, year;
       
    for (int i= 0; i<=11; ++i){   
        countMonth = new Integer(i);       
        Calendar calendar = Calendar.getInstance();
        /* Rest the specific month. in order to obtain older data.*/
        calendar.add(Calendar.MONTH, ((-1) * countMonth));
       
        month = Integer.valueOf(new SimpleDateFormat("MM").format(calendar.getTime()));
        year = Integer.valueOf(new SimpleDateFormat("yyyy").format(calendar.getTime()));
        System.out.println("Month: "+month+"Year: "+year);
    }
    }
   
}

miércoles, 12 de enero de 2011

jar -xvf jar -uvf | como extraer un archivo de un archivo.jar


Hola los comandos que hoy les voy a presentar son útiles para cuando tenemos algun archivo que querramos inspeccionar o modicar y este este empaquetado dentro de un archivo .jar 

Desde la consola bash podemos extraer el archivo en cuestion, luego inspeccionarlo o modificarlo y volverlo a empaquetar, debajo estan los comando para hacer eso:
Para extraer un archivo de un archive .jar desde una consola bash
1)       jar –xvf MyFile.jar FileToExtract
      por ej:

Una vez afuera generalmente es donde el archivo se lo consulta o se lo modifica y luego se lo vuelve a poner
en el .jar de donde salio.
Para volver a poner el archive en el .jar

       2) jar -uvf MyFile.jar FileToExtract

Dejo un poco mas de info sobre la Java archive tool:

Saludos,
Nacho.-