List of usage examples for org.apache.commons.collections.comparators ComparableComparator ComparableComparator
public ComparableComparator()
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; }