Example usage for org.apache.commons.collections.comparators ComparatorChain ComparatorChain

List of usage examples for org.apache.commons.collections.comparators ComparatorChain ComparatorChain

Introduction

In this page you can find the example usage for org.apache.commons.collections.comparators ComparatorChain ComparatorChain.

Prototype

public ComparatorChain(List list) 

Source Link

Document

Construct a ComparatorChain from the Comparators in the List.

Usage

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);
}