Example usage for org.apache.commons.beanutils BeanComparator BeanComparator

List of usage examples for org.apache.commons.beanutils BeanComparator BeanComparator

Introduction

In this page you can find the example usage for org.apache.commons.beanutils BeanComparator BeanComparator.

Prototype

public BeanComparator(String property, Comparator comparator) 

Source Link

Document

Constructs a property-based comparator for beans.

Usage

From source file:com.sporeon.baseutil.OrdenacaoUtil.java

/**
* Mtodo responsvel por retorna uma lista de Object ordenada pelo nome do campo informado.
* @author Senio Caires/*ww w  . j  a va2  s  . c o m*/
* @param lista - Lista
* @param campo - Campo
* @param tipoOrdenacao - Tipo de ordenao
* @return lista ordenada
*/
public static List ordenarLista(final List lista, final String campo, final TipoOrdenacao tipoOrdenacao) {

    if (lista != null && !lista.isEmpty() && campo != null && !(campo.trim().length() == 0)) {

        BeanComparator ordem = new BeanComparator(campo, new Comparator() {

            @Override
            public int compare(final Object o1, final Object o2) {

                int resultado = 0;
                final int maximoCaracteres = 20;

                if (o1 instanceof Integer) {
                    resultado = ((String) ManipulacaoUtil
                            .adicionarChar('0', maximoCaracteres, o2.toString(), true))
                                    .compareToIgnoreCase((String) ManipulacaoUtil.adicionarChar('0',
                                            maximoCaracteres, o1.toString(), true));
                } else {
                    resultado = ((String) o2.toString()).compareToIgnoreCase((String) o1.toString());
                }

                return resultado;
            }
        });

        Collections.sort(lista, ordem);

        if (TipoOrdenacao.CRESCENTE.equals(tipoOrdenacao)) {
            Collections.reverse(lista);
        }
    }

    return lista;
}

From source file:com.safetys.framework.jmesa.core.sort.MultiColumnSort.java

@SuppressWarnings("unchecked")
public Collection<?> sortItems(Collection<?> items, Limit limit) {
    ComparatorChain chain = new ComparatorChain();

    SortSet sortSet = limit.getSortSet();
    for (Sort sort : sortSet.getSorts()) {
        if (sort.getOrder() == Order.ASC) {
            chain.addComparator(new BeanComparator(sort.getProperty(), new NullComparator()));
        } else if (sort.getOrder() == Order.DESC) {
            chain.addComparator(new BeanComparator(sort.getProperty(), new NullComparator()), true);
        }//www .ja va 2s  .  c  om
    }

    if (chain.size() > 0) {
        Collections.sort((List<?>) items, chain);
    }

    return items;
}

From source file:marshalsec.gadgets.CommonsBeanutils.java

@Primary
@Args(minArgs = 1, args = { "jndiUrl" }, defaultArgs = { MarshallerBase.defaultJNDIUrl })
default Object makeCommonsBeanutilsJNDI(UtilFactory uf, String... args) throws Exception {
    BeanComparator<Object> cmp = new BeanComparator<>("lowestSetBit", Collections.reverseOrder());
    Object trig = uf.makeComparatorTrigger(JDKUtil.makeJNDIRowSet(args[0]), cmp);
    Reflections.setFieldValue(cmp, "property", "databaseMetaData");
    return trig;//from   w  w  w . ja va 2 s  .  com
}

From source file:com.safetys.framework.jmesa.core.sort.ComparableAwareColumnSort.java

@SuppressWarnings("unchecked")
public Collection<?> sortItems(Collection<?> items, Limit limit) {
    if (items.isEmpty()) {
        return items;
    }/*from  w  ww.  j  a v  a 2 s. c o m*/

    ComparatorChain chain = new ComparatorChain();
    SortSet sortSet = limit.getSortSet();

    for (Sort sort : sortSet.getSorts()) {
        Class<?> type = null;

        try {
            type = getPropertyClassType(items, sort.getProperty());
        } catch (Exception e) {
            logger.error("Had problems getting the column sort type.", e);
        }

        if (type != null && Comparable.class.isAssignableFrom(type)) {
            if (sort.getOrder() == Order.ASC) {
                chain.addComparator(new BeanComparator(sort.getProperty(),
                        new NullComparator(ComparableComparator.getInstance())));
            } else if (sort.getOrder() == Order.DESC) {
                chain.addComparator(new BeanComparator(sort.getProperty(),
                        new NullComparator(ComparableComparator.getInstance())), true);
            }
        } else if (sort.getOrder() == Order.ASC) {
            chain.addComparator(new BeanComparator(sort.getProperty(), new NullComparator()));
        } else if (sort.getOrder() == Order.DESC) {
            chain.addComparator(new BeanComparator(sort.getProperty(), new NullComparator()), true);
        }
    }

    if (chain.size() > 0) {
        Collections.sort((List<?>) items, chain);
    }

    return items;
}

From source file:net.sourceforge.fenixedu.presentationTier.Action.utils.RequestUtils.java

public static Collection buildExecutionDegreeLabelValueBean(Collection executionDegrees) {
    final Map duplicateDegreesMap = new HashMap();
    for (Iterator iterator = executionDegrees.iterator(); iterator.hasNext();) {
        InfoExecutionDegree infoExecutionDegree = (InfoExecutionDegree) iterator.next();
        InfoDegree infoDegree = infoExecutionDegree.getInfoDegreeCurricularPlan().getInfoDegree();
        String degreeName = infoDegree.getNome();

        if (duplicateDegreesMap.get(degreeName) == null) {
            duplicateDegreesMap.put(degreeName, new Boolean(false));
        } else {/*from   ww  w. j  ava2  s.c  om*/
            duplicateDegreesMap.put(degreeName, new Boolean(true));
        }
    }

    Collection lableValueList = CollectionUtils.collect(executionDegrees, new Transformer() {

        @Override
        public Object transform(Object arg0) {
            InfoExecutionDegree infoExecutionDegree = (InfoExecutionDegree) arg0;

            String label = infoExecutionDegree.getInfoDegreeCurricularPlan().getDegreeCurricularPlan()
                    .getPresentationName(infoExecutionDegree.getInfoExecutionYear().getExecutionYear());

            String value = infoExecutionDegree.getExternalId().toString();

            return new LabelValueBean(label, value);
        }

    });

    Comparator comparator = new BeanComparator("label", Collator.getInstance());
    Collections.sort((List) lableValueList, comparator);

    return lableValueList;
}

From source file:gov.nih.nci.cabig.caaers.web.table.SortRowsCallbackImpl.java

public Collection sortRows(TableModel model, Collection rows) throws Exception {
    boolean sorted = model.getLimit().isSorted();

    if (!sorted) {
        return rows;
    }/*from  ww  w .ja va 2s  . c o  m*/

    Sort sort = model.getLimit().getSort();
    String property = sort.getProperty();
    String sortOrder = sort.getSortOrder();

    if (StringUtils.contains(property, ".")) {
        try {
            if (sortOrder.equals(TableConstants.SORT_ASC)) {
                Collections.sort((List) rows, new NullSafeBeanComparator(property, new NullStringComparator()));
            } else if (sortOrder.equals(TableConstants.SORT_DESC)) {
                NullSafeBeanComparator reversedNaturalOrderBeanComparator = new NullSafeBeanComparator(property,
                        new ReverseComparator(new NullStringComparator()));
                Collections.sort((List) rows, reversedNaturalOrderBeanComparator);
            }
        } catch (NoClassDefFoundError e) {
            String msg = "The column property [" + property
                    + "] is nested and requires BeanUtils 1.7 or greater for proper sorting.";
            logger.error(msg);
            throw new NoClassDefFoundError(msg); //just rethrow so it is not hidden
        }
    } else {
        if (sortOrder.equals(TableConstants.SORT_ASC)) {
            BeanComparator comparator = new BeanComparator(property, new NullStringComparator());
            Collections.sort((List) rows, comparator);
        } else if (sortOrder.equals(TableConstants.SORT_DESC)) {
            BeanComparator reversedNaturalOrderBeanComparator = new BeanComparator(property,
                    new ReverseComparator(new NullStringComparator()));
            Collections.sort((List) rows, reversedNaturalOrderBeanComparator);
        }
    }

    return rows;
}

From source file:com.ponysdk.impl.query.memory.FilteringTools.java

public static <U> BeanComparator getPropertyComparator(final String propertyName,
        final Comparator<U> comparator) {
    return new BeanComparator(null != propertyName ? propertyName : "name", comparator) {

        private static final long serialVersionUID = 5957817419869265091L;

        @Override/*from   ww  w .  jav a 2s.co m*/
        public int compare(final Object o1, final Object o2) {
            final String property = getProperty();
            if (property == null) {
                return getComparator().compare(o1, o2);
            }

            try {
                final Object value1 = getValue(o1, property.split(DOT_REGEX));
                final Object value2 = getValue(o2, property.split(DOT_REGEX));
                return getComparator().compare(value1, value2);
            } catch (final Exception e) {
                return getComparator().compare(o1, o2);
            }
        }
    };
}

From source file:com.googlecode.jtiger.modules.ecside.table.cell.FilterDroplistCell.java

protected Collection getFilterDropList(TableModel model, Column column) {
    List droplist = new ArrayList();

    Set options = new HashSet();

    Collection beans = model.getCollectionOfBeans();
    for (Iterator iter = beans.iterator(); iter.hasNext();) {
        Object bean = iter.next();
        try {//w  w w  . j ava  2  s .c o  m
            Object obj = getFilterOption(column, bean);
            if ((obj != null) && !options.contains(obj)) {
                droplist.add(new Option(obj));
                options.add(obj);
            }
        } catch (Exception e) {
            logger.debug("Problems getting the droplist.", e);
        }
    }

    BeanComparator comparator = new BeanComparator("label", new NullComparator());
    Collections.sort(droplist, comparator);

    return droplist;
}

From source file:com.ultrapower.eoms.common.plugin.ecside.table.cell.FilterDroplistCell.java

protected Collection getFilterDropList(TableModel model, Column column) {
    List droplist = new ArrayList();
        //  ww  w .j  av  a2  s .  com
    Set options = new HashSet();
        
    Collection beans = model.getCollectionOfBeans();
    for (Iterator iter = beans.iterator(); iter.hasNext();) {
        Object bean = iter.next();
        try {
            Object obj = getFilterOption(column, bean); 
            if ((obj != null) && !options.contains(obj)) {
                droplist.add(new Option(obj));
                options.add(obj);
            }
        } catch (Exception e) {
            logger.debug("Problems getting the droplist.", e);
        }
    }

    BeanComparator comparator = new BeanComparator("label", new NullComparator());
    Collections.sort(droplist, comparator);

    return droplist;
}

From source file:de.erdesignerng.dialect.DialectFactory.java

/**
 * //w w w  .  ja  v  a  2s .  co m
 *<br />
 *@date 20161116 ?5:33:19
 *@author <a href="bentengwu@163.com">thender</a>
 *@return The Dialect supoorted in tool
 */
public List<Dialect> getSupportedDialects() {
    List<Dialect> theDialects = new ArrayList<>();
    theDialects.addAll(knownDialects.values());
    Collections.sort(theDialects, new BeanComparator("uniqueName", String.CASE_INSENSITIVE_ORDER));
    return theDialects;
}