List of usage examples for org.apache.commons.collections.comparators ComparatorChain ComparatorChain
public ComparatorChain(List list)
From source file:amgen.ri.test.TestComparatorChain.java
public Comparator makeComparator() { ComparatorChain chain = new ComparatorChain(new ColumnComparator(0)); chain.addComparator(new ColumnComparator(1), true); return chain; }
From source file:net.kamhon.ieagle.datagrid.DefaultDatagridModel.java
@SuppressWarnings("unchecked") public void sortRecords() { if (CollectionUtil.isEmpty(records)) { return;/*from w w w .jav a 2 s.c om*/ } if (CollectionUtil.isEmpty(sorters)) { return; } List<BeanComparator> sortColumns = new ArrayList<BeanComparator>(); for (Sorter sorter : sorters) { if (sorter.getDirection().equalsIgnoreCase(Sorter.ASC)) { sortColumns.add(new BeanComparator(sorter.getColumn())); } else { sortColumns.add( new BeanComparator(sorter.getColumn(), new ReverseComparator(new ComparableComparator()))); } } ComparatorChain sort = new ComparatorChain(sortColumns); Collections.sort(records, sort); }
From source file:br.com.bluesoft.pronto.model.Sprint.java
@SuppressWarnings("unchecked") public List<Ticket> getTicketsParaOKanban() { final List<Ticket> ticketsParaOKanban = new ArrayList<Ticket>(); if (tickets != null) { for (final Ticket ticket : tickets) { if (!ticket.temFilhos() && !ticket.isImpedido() && !ticket.isLixo()) { ticketsParaOKanban.add(ticket); }//from w w w . j a va2 s .com } } final List<Comparator> comparators = new ArrayList<Comparator>(); final BeanComparator comparatorPrioridade = new BeanComparator("prioridade"); final ReverseComparator comparatorValorDeNegocio = new ReverseComparator( new BeanComparator("valorDeNegocio")); final ReverseComparator comparatorEsforco = new ReverseComparator(new BeanComparator("esforco")); final BeanComparator comparatorDataDeCriacao = new BeanComparator("dataDeCriacao"); final BeanComparator comparatorKey = new BeanComparator("ticketKey"); comparators.add(comparatorPrioridade); comparators.add(comparatorValorDeNegocio); comparators.add(comparatorEsforco); comparators.add(comparatorDataDeCriacao); comparators.add(comparatorKey); final ComparatorChain comparatorChain = new ComparatorChain(comparators); Collections.sort(ticketsParaOKanban, comparatorChain); return ticketsParaOKanban; }
From source file:br.com.bluesoft.pronto.dao.TicketDao.java
@SuppressWarnings("unchecked") public List<Ticket> listarEstoriasEDefeitosPorBacklog(final int backlogKey) { final StringBuilder builder = new StringBuilder(); builder.append(" select distinct t from Ticket t"); builder.append(" left join fetch t.filhos f "); builder.append(" left join fetch t.pai p"); builder.append(" left join fetch t.kanbanStatus "); builder.append(" left join fetch t.tipoDeTicket "); builder.append(" where t.backlog.backlogKey = :backlogKey"); builder.append(" and t.tipoDeTicket.tipoDeTicketKey in (:tipos)"); final List<Ticket> lista = getSession().createQuery(builder.toString()).setInteger("backlogKey", backlogKey) .setParameterList("tipos", new Integer[] { TipoDeTicket.ESTORIA, TipoDeTicket.DEFEITO, TipoDeTicket.IDEIA }) .list();/*from w w w.j a v a 2 s .c om*/ final List<Comparator> comparators = new ArrayList<Comparator>(); comparators.add(new ReverseComparator(new BeanComparator("valorDeNegocio"))); comparators.add(new ReverseComparator(new BeanComparator("esforco"))); comparators.add(new BeanComparator("ticketKey")); final ComparatorChain comparatorChain = new ComparatorChain(comparators); Collections.sort(lista, comparatorChain); return lista; }
From source file:br.com.bluesoft.pronto.dao.TicketDao.java
@SuppressWarnings("unchecked") public List<Ticket> listarEstoriasEDefeitosPorSprint(final int sprintKey) { final StringBuilder builder = new StringBuilder(); builder.append(" select distinct t from Ticket t"); builder.append(" left join fetch t.filhos f "); builder.append(" left join fetch t.sprint "); builder.append(" left join fetch t.tipoDeTicket "); builder.append(" left join fetch t.backlog "); builder.append(" left join fetch t.kanbanStatus "); builder.append(" left join fetch t.reporter "); builder.append(" where t.sprint.sprintKey = :sprintKey"); builder.append(" and t.tipoDeTicket.tipoDeTicketKey in (:tipos)"); final List<Ticket> lista = getSession().createQuery(builder.toString()).setInteger("sprintKey", sprintKey) .setParameterList("tipos", new Integer[] { TipoDeTicket.ESTORIA, TipoDeTicket.DEFEITO }).list(); final List<Comparator> comparators = new ArrayList<Comparator>(); comparators.add(new ReverseComparator(new BeanComparator("valorDeNegocio"))); comparators.add(new ReverseComparator(new BeanComparator("esforco"))); comparators.add(new BeanComparator("ticketKey")); final ComparatorChain comparatorChain = new ComparatorChain(comparators); Collections.sort(lista, comparatorChain); return lista; }
From source file:org.apache.openjpa.meta.FieldMetaData.java
/** * Order this field value when it is loaded. *//* w w w .j a va 2s . co m*/ public Object order(Object val) { if (val == null) return null; Order[] orders = getOrders(); if (orders.length == 0) return val; // create a comparator for the elements of the value Comparator<?> comp; if (orders.length == 1) comp = orders[0].getComparator(); else { List<Comparator<?>> comps = null; Comparator<?> curComp; for (int i = 0; i < orders.length; i++) { curComp = orders[i].getComparator(); if (curComp != null) { if (comps == null) comps = new ArrayList<Comparator<?>>(orders.length); if (i != comps.size()) throw new MetaDataException(_loc.get("mixed-inmem-ordering", this)); comps.add(curComp); } } if (comps == null) comp = null; else comp = new ComparatorChain(comps); } if (comp == null) return val; // sort switch (getTypeCode()) { case JavaTypes.ARRAY: List l = JavaTypes.toList(val, _elem.getType(), true); Collections.sort(l, (Comparator<? super Order>) comp); return JavaTypes.toArray(l, _elem.getType()); case JavaTypes.COLLECTION: if (val instanceof List) Collections.sort((List) val, (Comparator<? super Order>) comp); return val; default: throw new MetaDataException(_loc.get("cant-order", this)); } }
From source file:org.apereo.portal.io.xml.eventaggr.ExternalAggregatedGroupMappingComparator.java
@SuppressWarnings("unchecked") private ExternalAggregatedGroupMappingComparator() { chain = new ComparatorChain( Arrays.asList(new ComparableExtractingComparator<ExternalAggregatedGroupMapping, String>() { @Override/* www . j a v a 2 s. c o m*/ protected String getComparable(ExternalAggregatedGroupMapping o) { return o.getGroupService(); } }, new ComparableExtractingComparator<ExternalAggregatedGroupMapping, String>() { @Override protected String getComparable(ExternalAggregatedGroupMapping o) { return o.getGroupName(); } })); }
From source file:org.carbondata.query.carbon.merger.impl.SortedScannedResultMerger.java
/** * Below method will be used to get the comparator for sorting the * result//from w w w . j a va 2s .c o m * * @param sortInfo sort info * @return comparator */ public static ComparatorChain getMergerChainComparator(SortInfo sortInfo) { List<Comparator> compratorList = new ArrayList<Comparator>(CarbonCommonConstants.DEFAULT_COLLECTION_SIZE); int length = sortInfo.getSortDimension().size(); int noDictionaryIndex = 0; for (int i = 0; i < length; i++) { if (!CarbonUtil.hasEncoding(sortInfo.getSortDimension().get(i).getDimension().getEncoder(), Encoding.DICTIONARY)) { compratorList.add(new VariableLengthKeyResultComparator(sortInfo.getDimensionSortOrder()[i], noDictionaryIndex++, sortInfo.getSortDimension().get(i).getDimension().getDataType())); } else { compratorList.add(new FixedLengthKeyResultComparator(sortInfo.getMaskedByteRangeForSorting()[i], sortInfo.getDimensionSortOrder()[i], sortInfo.getDimensionMaskKeyForSorting()[i])); } } return new ComparatorChain(compratorList); }
From source file:org.carbondata.query.util.ScannedResultProcessorUtil.java
/** * @param maskedByteRangeForSorting//from ww w .j a v a2s . c o m * @param dimensionSortOrder * @param dimensionMasks * @return */ public static ComparatorChain getMergerChainComparator(int[][] maskedByteRangeForSorting, byte[] dimensionSortOrder, byte[][] dimensionMasks) { if (dimensionSortOrder.length < 1) { return null; } List<Comparator<DataFileWriter.KeyValueHolder>> compratorList = new ArrayList<Comparator<DataFileWriter.KeyValueHolder>>( CarbonCommonConstants.DEFAULT_COLLECTION_SIZE); MaksedByteComparatorBAW keyComparator = null; int length = maskedByteRangeForSorting.length; for (int i = 0; i < length; i++) { if (null == maskedByteRangeForSorting[i]) { keyComparator = new MaksedByteComparatorBAW(dimensionSortOrder[i]); compratorList.add(keyComparator); continue; } keyComparator = new MaksedByteComparatorBAW(maskedByteRangeForSorting[i], dimensionSortOrder[i], dimensionMasks[i]); compratorList.add(keyComparator); } return new ComparatorChain(compratorList); }
From source file:org.carbondata.query.util.ScannedResultProcessorUtil.java
/** * @return//w w w . j av a 2s . c o m */ public static ComparatorChain getResultTempFileReaderComprator(int[][] maskedByteRangeForSorting, byte[] dimensionSortOrder, byte[][] dimensionMasks) { if (dimensionSortOrder.length < 1) { return null; } List<Comparator<ResultTempFileReader>> compratorList = new ArrayList<Comparator<ResultTempFileReader>>( CarbonCommonConstants.DEFAULT_COLLECTION_SIZE); MaksedByteComparatorForReader keyComparator = null; for (int i = 0; i < maskedByteRangeForSorting.length; i++) { if (null == maskedByteRangeForSorting[i]) { continue; } keyComparator = new MaksedByteComparatorForReader(maskedByteRangeForSorting[i], dimensionSortOrder[i], dimensionMasks[i]); compratorList.add(keyComparator); } return new ComparatorChain(compratorList); }