List of usage examples for org.apache.commons.beanutils BeanComparator BeanComparator
public BeanComparator(String property, Comparator comparator)
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; }