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

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

Introduction

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

Prototype

public ComparableComparator() 

Source Link

Document

Constructor whose use should be avoided.

Usage

From source file:net.sourceforge.fenixedu.presentationTier.renderers.providers.alumni.AlumniSearchDegreeProvider.java

@Override
public Object provide(Object source, Object currentValue) {

    AlumniMailSendToBean bean = (AlumniMailSendToBean) source;
    final List<Degree> degrees = new ArrayList<Degree>(Degree.readAllByDegreeType(bean.getDegreeType()));
    Collections.sort(degrees, new ComparableComparator());
    return degrees;
}

From source file:com.indeed.lsmtree.core.TestZeroData.java

public void testEmpty() throws IOException {
    VolatileGeneration<Integer, Long> generation = new VolatileGeneration<Integer, Long>(
            new File(tmpDir, "log.log"), new IntSerializer(), new LongSerializer(), new ComparableComparator());
    final File indexDir = new File(tmpDir, "indexdir");
    ImmutableBTreeIndex.Writer.write(indexDir, generation.iterator(), new IntSerializer(), new LongSerializer(),
            65536, false);//from www.ja  v  a  2s  . c om
    ImmutableBTreeIndex.Reader<Integer, Long> reader = new ImmutableBTreeIndex.Reader<Integer, Long>(indexDir,
            new IntSerializer(), new LongSerializer(), false);
    final Iterator<Generation.Entry<Integer, Long>> iterator = reader.iterator();
    assertFalse(iterator.hasNext());
}

From source file:com.indeed.lsmtree.core.TestVolatileGeneration.java

public void testIterator() throws Exception {
    final File logPath = new File(tmpDir, "tmp.log");
    VolatileGeneration<Integer, Long> volatileGeneration = new VolatileGeneration(logPath, new IntSerializer(),
            new LongSerializer(), new ComparableComparator());
    int[] random = new int[1000000];
    Random r = new Random(0);
    for (int i = 0; i < random.length; i++) {
        random[i] = r.nextInt();/*from  w w w.  java  2  s  . c  o  m*/
    }
    for (int element : random) {
        volatileGeneration.put(element, (long) element);
    }
    int[] sorted = new int[random.length];
    System.arraycopy(random, 0, sorted, 0, random.length);
    Arrays.sort(sorted);
    verifyIterationOrder(volatileGeneration, sorted);

    volatileGeneration.close();
    volatileGeneration = new VolatileGeneration<Integer, Long>(new File(tmpDir, "tmp2.log"),
            new IntSerializer(), new LongSerializer(), new ComparableComparator());
    volatileGeneration.replayTransactionLog(logPath);
    verifyIterationOrder(volatileGeneration, sorted);
}

From source file:com.indeed.lsmtree.core.TestZeroData.java

public void testAllDeletes() throws IOException, TransactionLog.LogClosedException {
    VolatileGeneration<Integer, Long> generation = new VolatileGeneration<Integer, Long>(
            new File(tmpDir, "log.log"), new IntSerializer(), new LongSerializer(), new ComparableComparator());
    for (int i = 0; i < 10000; i++) {
        generation.delete(i);//from  ww  w .ja  v a 2 s  .com
    }
    final File indexDir = new File(tmpDir, "indexdir");
    ImmutableBTreeIndex.Writer.write(indexDir, generation.iterator(), new IntSerializer(), new LongSerializer(),
            65536, false);
    ImmutableBTreeIndex.Reader<Integer, Long> reader = new ImmutableBTreeIndex.Reader<Integer, Long>(indexDir,
            new IntSerializer(), new LongSerializer(), false);
    final Iterator<Generation.Entry<Integer, Long>> iterator = reader.iterator();
    assertFalse(iterator.hasNext());
    for (int i = 0; i < 10000; i++) {
        assertNull(reader.get(i));
    }
}

From source file:de.openali.odysseus.chart.framework.model.mapper.registry.impl.DataOperatorHelper.java

@SuppressWarnings("unchecked")
public DataOperatorHelper() {
    m_dataOperators.put(Number.class, new NumberDataOperator(new NumberComparator()));
    m_dataOperators.put(Boolean.class, new BooleanDataOperator(new ComparableComparator()));
    m_dataOperators.put(Calendar.class,
            new CalendarDataOperator(new ComparableComparator(), "dd.MM.yyyy HH:mm")); //$NON-NLS-1$
    m_dataOperators.put(Date.class, new DateDataOperator(new ComparableComparator(), "dd.MM.yyyy HH:mm")); //$NON-NLS-1$
}

From source file:com.indeed.lsmtree.core.TestZeroData.java

public void testAllDeletedInYoungGeneration() throws IOException, TransactionLog.LogClosedException {
    VolatileGeneration<Integer, Long> generation = new VolatileGeneration<Integer, Long>(
            new File(tmpDir, "log1.log"), new IntSerializer(), new LongSerializer(),
            new ComparableComparator());
    for (int i = 0; i < 10000; i++) {
        generation.put(i, (long) i);
    }//from  ww w  . ja  v a2 s . c  o m
    final File indexDir1 = new File(tmpDir, "indexdir1");
    ImmutableBTreeIndex.Writer.write(indexDir1, generation.iterator(), new IntSerializer(),
            new LongSerializer(), 65536, false);
    ImmutableBTreeIndex.Reader<Integer, Long> reader = new ImmutableBTreeIndex.Reader<Integer, Long>(indexDir1,
            new IntSerializer(), new LongSerializer(), false);
    generation = new VolatileGeneration<Integer, Long>(new File(tmpDir, "log2.log"), new IntSerializer(),
            new LongSerializer(), new ComparableComparator());
    for (int i = 0; i < 10000; i++) {
        generation.delete(i);
    }
    final File indexDir2 = new File(tmpDir, "indexDir2");
    MergingIterator<Integer, Long> merged = new MergingIterator<Integer, Long>(
            Arrays.asList(generation.iterator(), reader.iterator()), new ComparableComparator());
    ImmutableBTreeIndex.Writer.write(indexDir2, merged, new IntSerializer(), new LongSerializer(), 65536,
            false);
    ImmutableBTreeIndex.Reader<Integer, Long> reader2 = new ImmutableBTreeIndex.Reader<Integer, Long>(indexDir2,
            new IntSerializer(), new LongSerializer(), false);
    Iterator<Generation.Entry<Integer, Long>> iterator = reader2.iterator();
    assertFalse(iterator.hasNext());
    for (int i = 0; i < 10000; i++) {
        assertNull(reader2.get(i));
    }
}

From source file:de.openali.odysseus.chart.framework.model.data.DataRange.java

@SafeVarargs
@Deprecated/*from  ww w  . j av  a  2  s . co m*/
public static <T> DataRange<T> createFromComparable(final T... items) {
    final ComparableComparator comp = new ComparableComparator();

    T min = null;
    T max = null;

    boolean hasMinAndMax = false;
    for (final T item : items) {
        if (item != null) {
            // erster von Null verschiedener Wert wird als max und min genutzt
            if (hasMinAndMax) {
                try {
                    if (comp.compare(item, min) < 0) {
                        min = item;
                    }
                    if (comp.compare(item, max) > 0) {
                        max = item;
                    }
                } catch (final ClassCastException e) {
                    e.printStackTrace();
                }
            } else {
                min = item;
                max = item;
                hasMinAndMax = true;
            }
        }
    }

    return new DataRange<>(min, max);
}

From source file:net.kamhon.ieagle.datagrid.DefaultDatagridModel.java

@SuppressWarnings("unchecked")
public void sortRecords() {
    if (CollectionUtil.isEmpty(records)) {
        return;/*from   w  ww. j  a v a2  s. c  o  m*/
    }

    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:com.linkedin.pinot.core.query.aggregation.groupby.AggregationGroupByTrimmingService.java

@SuppressWarnings("unchecked")
private static Sorter getSorter(int trimSize, AggregationFunction aggregationFunction, boolean isComparable) {
    // This will cover both MIN and MINMV
    boolean minOrder = aggregationFunction instanceof MinAggregationFunction;

    if (isComparable) {
        if (minOrder) {
            return new ComparableSorter(trimSize, Collections.reverseOrder());
        } else {//from   w w  w. j  ava 2s . c  o  m
            return new ComparableSorter(trimSize, new ComparableComparator());
        }
    } else {
        // Reverse the comparator so that keys are ordered in descending order
        if (minOrder) {
            return new NonComparableSorter(trimSize, new ComparableComparator(), aggregationFunction);
        } else {
            return new NonComparableSorter(trimSize, Collections.reverseOrder(), aggregationFunction);
        }
    }
}

From source file:ching.icecreaming.action.ResourceDescriptors.java

@Action(value = "resource-descriptors", results = { @Result(name = "success", location = "json.jsp") })
public String execute() throws Exception {
    int int1 = 401, int0 = 0;
    String string1 = null;/*  w  w  w  .j av  a  2  s.co m*/
    URL url1 = null;
    URI uri1 = null;
    HttpGet httpGet1 = null;
    HttpResponse httpResponse1 = null;
    HttpEntity httpEntity1 = null;
    HttpPost httpPost1 = null;
    HttpHost httpHost1 = null;
    DefaultHttpClient httpClient1 = null;
    File file1 = null;
    InputStream inputStream1 = null;
    OutputStream outputStream1 = null;
    BeanComparator beanComparator1 = null;
    List<Map<String, Object>> list1 = null, list2 = null;
    Map<String, Object> map1 = null;
    Object object1 = null;
    int toIndex = rows * page;
    int fromIndex = toIndex - rows;
    GridModel1 jsonObject1 = null;
    Gson gson = null;
    Long long1 = -1L;
    java.util.Date date1 = null;
    URIBuilder uriBuilder1 = null;
    Node node1 = null;
    Element element1 = null;
    NodeList nodeList1 = null;
    Document document1 = null;
    DocumentBuilder documentBuilder1 = null;
    DocumentBuilderFactory documentBuilderFactory1 = null;
    org.joda.time.DateTime dateTime1 = null, dateTime2 = null;

    try {
        if (StringUtils.isNotEmpty(sid) && StringUtils.isNotEmpty(uid) && StringUtils.isNotEmpty(pid)) {
            sid = new String(Base64.decodeBase64(sid.getBytes()));
            uid = new String(Base64.decodeBase64(uid.getBytes()));
            pid = new String(Base64.decodeBase64(pid.getBytes()));
            httpClient1 = new DefaultHttpClient();
            url1 = new URL(sid);
            uriBuilder1 = new URIBuilder(sid);
            uriBuilder1.setParameter("j_username", uid);
            uriBuilder1.setParameter("j_password", pid);
            uriBuilder1.setPath(url1.getPath() + "/rest/resources" + urlString);
            uriBuilder1.setUserInfo(uid, pid);
            uri1 = uriBuilder1.build();
            httpGet1 = new HttpGet(uri1);
            httpResponse1 = httpClient1.execute(httpGet1);
            int1 = httpResponse1.getStatusLine().getStatusCode();
            if (int1 == HttpStatus.SC_OK) {
                httpEntity1 = httpResponse1.getEntity();
                inputStream1 = httpResponse1.getEntity().getContent();
                if (inputStream1 != null) {
                    documentBuilderFactory1 = DocumentBuilderFactory.newInstance();
                    documentBuilder1 = documentBuilderFactory1.newDocumentBuilder();
                    document1 = documentBuilder1.parse(inputStream1);
                    document1.getDocumentElement().normalize();
                    nodeList1 = document1.getElementsByTagName("resourceDescriptor");
                    int1 = nodeList1.getLength();
                    list1 = new ArrayList<Map<String, Object>>();
                    for (int0 = 0; int0 < int1; int0++) {
                        node1 = nodeList1.item(int0);
                        if (node1.getNodeType() == Node.ELEMENT_NODE) {
                            element1 = (Element) node1;
                            map1 = new HashMap<String, Object>();
                            map1.put("wsType", element1.getAttribute("wsType"));
                            map1.put("uriString", element1.getAttribute("uriString"));
                            string1 = getTagValue("label", element1);
                            map1.put("label1", StringUtils.defaultString(string1));
                            string1 = getTagValue("description", element1);
                            map1.put("description", StringUtils.defaultString(string1));
                            string1 = getTagValue("creationDate", element1);
                            long1 = (string1 == null) ? -1L
                                    : NumberUtils.toLong(StringUtils.trim(string1), -1L);
                            if (long1 > 0) {
                                if (StringUtils.isNotBlank(timeZone1)) {
                                    dateTime1 = new org.joda.time.DateTime(long1);
                                    dateTime2 = dateTime1.withZone(DateTimeZone.forID(timeZone1));
                                    date1 = dateTime2.toLocalDateTime().toDate();
                                } else {
                                    date1 = new java.util.Date(long1);
                                }
                            } else {
                                date1 = null;
                            }
                            map1.put("creationDate", date1);
                            map1.put("type1", getText(element1.getAttribute("wsType")));
                            list1.add(map1);
                        }
                    }
                }
                EntityUtils.consume(httpEntity1);
            }
        }
    } catch (UnsupportedEncodingException | URISyntaxException | ParserConfigurationException
            | SAXException exception1) {
        exception1.printStackTrace();
        return ERROR;
    } catch (org.apache.http.conn.HttpHostConnectException | java.net.NoRouteToHostException
            | java.net.MalformedURLException | java.net.UnknownHostException exception1) {
        exception1.printStackTrace();
        return ERROR;
    } catch (IOException exception1) {
        httpGet1.abort();
        exception1.printStackTrace();
        return ERROR;
    } finally {
        if (httpClient1 != null)
            httpClient1.getConnectionManager().shutdown();
        if (list1 != null) {
            records = list1.size();
            if (list1.size() > 0) {
                if (StringUtils.isNotEmpty(sidx)) {
                    if (StringUtils.equals(sord, "desc")) {
                        beanComparator1 = new BeanComparator(sidx,
                                new ReverseComparator(new ComparableComparator()));
                    } else {
                        beanComparator1 = new BeanComparator(sidx);
                    }
                    Collections.sort(list1, beanComparator1);
                }
                if (StringUtils.isNotBlank(searchField) && StringUtils.isNotEmpty(searchOper)) {
                    Iterator iterator1 = list1.iterator();
                    while (iterator1.hasNext()) {
                        map1 = (Map<String, Object>) iterator1.next();
                        for (Map.Entry<String, Object> entry1 : map1.entrySet()) {
                            if (StringUtils.equals(entry1.getKey(), searchField)) {
                                object1 = entry1.getValue();
                                if (searchFilter(searchField, searchOper, searchString, object1))
                                    iterator1.remove();
                                break;
                            }
                        }
                    }
                    records = list1.size();
                }
                if (toIndex > records)
                    toIndex = records;
                if (fromIndex > toIndex) {
                    fromIndex = toIndex - rows;
                    if (fromIndex < 0)
                        fromIndex = 0;
                }
                if (list1.size() > 0 && fromIndex >= 0 && toIndex <= list1.size() && fromIndex <= toIndex)
                    list2 = list1.subList(fromIndex, toIndex);

            }
            total = (int) Math.ceil((double) records / (double) rows);
            if (page > total)
                page = total;
            jsonObject1 = new GridModel1(rows, page, sord, sidx, searchField, searchString, searchOper, total,
                    records, id, list2);
            gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss.SSS").create();
            jsonData = gson.toJson(jsonObject1);
        }
        IOUtils.closeQuietly(inputStream1);
    }
    return SUCCESS;
}