SIGESA: Ordenar una lista ASER

  • Si tenemos un ASER y requerimos ordernarla por alguna columna lo podemos ahacer ordenando la lista
  • Así por ejemplo si vamos a ordenar una lista de

ActividadRespuestaRiesgoBean.java

  • en el initDetails
  • creamos
// Odernar descendente l2 -> l1
            final Comparator<BitacoraARR> ORDENAR_FECHA = new Comparator<BitacoraARR>() {
                public int compare(BitacoraARR l1, BitacoraARR l2) {
                    return l2.getFechaHora().compareTo(l1.getFechaHora());
                }
            };

            if (this.getEntity().getListaBitacoraARR() != null) {
                Collections.sort(this.getEntity().getListaBitacoraARR(), ORDENAR_FECHA);
            }

            // Inicializar la lista de bitacora
            this.getEntity().setListaBitacoraARR(bitacoraARRBean.setDetails(this.getEntity().getListaBitacoraARR()));
            bitacoraARRBean.init();

desendente

final Comparator<BitacoraARR> ORDENAR_FECHA = new Comparator<BitacoraARR>() {
                public int compare(BitacoraARR l1, BitacoraARR l2) {
                    return l2.getFechaHora().compareTo(l1.getFechaHora());
                }
            };

Asendente

final Comparator<BitacoraARR> ORDENAR_FECHA = new Comparator<BitacoraARR>() {
                public int compare(BitacoraARR l1, BitacoraARR l2) {
                    return l1.getFechaHora().compareTo(l2.getFechaHora());
                }
            };

Meteodo 2.

  • Es ordenar en el domain al momento de obtener la lista
public List<BitacoraARR> getListaBitacoraARR() {
        if (listaBitacoraARR != null) {
            Collections.sort(listaBitacoraARR, new Comparator<BitacoraARR>() {
                @Override
                public int compare(BitacoraARR o1, BitacoraARR o2) {
                    return o1.getFecha().compareTo(o2.getFecha());
                }
            });
            Collections.reverse(listaBitacoraARR);
        }
        return listaBitacoraARR;
    }