List of usage examples for org.apache.commons.collections IteratorUtils chainedIterator
public static Iterator chainedIterator(Iterator iterator1, Iterator iterator2)
From source file:com.github.liyp.test.TestMain.java
@SuppressWarnings("unchecked") public static void main(String[] args) { // add a shutdown hook to stop the server Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override/* ww w .ja v a 2 s. c om*/ public void run() { System.out.println("########### shoutdown begin...."); try { Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("########### shoutdown end...."); } })); System.out.println(args.length); Iterator<String> iterator1 = IteratorUtils .arrayIterator(new String[] { "one", "two", "three", "11", "22", "AB" }); Iterator<String> iterator2 = IteratorUtils.arrayIterator(new String[] { "a", "b", "c", "33", "ab", "aB" }); Iterator<String> chainedIter = IteratorUtils.chainedIterator(iterator1, iterator2); System.out.println("=================="); Iterator<String> iter = IteratorUtils.filteredIterator(chainedIter, new Predicate() { @Override public boolean evaluate(Object arg0) { System.out.println("xx:" + arg0.toString()); String str = (String) arg0; return str.matches("([a-z]|[A-Z]){2}"); } }); while (iter.hasNext()) { System.out.println(iter.next()); } System.out.println("==================="); System.out.println("asas".matches("[a-z]{4}")); System.out.println("Y".equals(null)); System.out.println(String.format("%02d", 1000L)); System.out.println(ArrayUtils.toString(splitAndTrim(" 11, 21,12 ,", ","))); System.out.println(new ArrayList<String>().toString()); JSONObject json = new JSONObject("{\"keynull\":null}"); json.put("bool", false); json.put("keya", "as"); json.put("key2", 2212222222222222222L); System.out.println(json); System.out.println(json.get("keynull").equals(null)); String a = String.format("{\"id\":%d,\"method\":\"testCrossSync\"," + "\"circle\":%d},\"isEnd\":true", 1, 1); System.out.println(a.getBytes().length); System.out.println(new String[] { "a", "b" }); System.out.println(new JSONArray("[\"aa\",\"\"]")); String data = String.format("%9d %s", 1, RandomStringUtils.randomAlphanumeric(10)); System.out.println(data.getBytes().length); System.out.println(ArrayUtils.toString("1|2| 3| 333||| 3".split("\\|"))); JSONObject j1 = new JSONObject("{\"a\":\"11111\"}"); JSONObject j2 = new JSONObject(j1.toString()); j2.put("b", "22222"); System.out.println(j1 + " | " + j2); System.out.println("======================"); String regex = "\\d+(\\-\\d+){2} \\d+(:\\d+){2}"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher("2015-12-28 15:46:14 _NC250_MD:motion de\n"); String eventDate = matcher.find() ? matcher.group() : ""; System.out.println(eventDate); }
From source file:io.neba.core.resourcemodels.registration.MappableTypeHierarchy.java
@Override @SuppressWarnings("unchecked") public Iterator<String> iterator() { Iterator<String> it; final Iterator<String> resourceTypeIterator = typeHierarchyOf(this.resource); final Node node = this.resource.adaptTo(Node.class); // A virtual resource must not have a node. if (node != null) { final Iterator<String> nodeTypeIterator = typeHierarchyOf(node); it = IteratorUtils.chainedIterator(resourceTypeIterator, nodeTypeIterator); } else {/*from ww w . j a v a 2 s .c o m*/ it = resourceTypeIterator; } return it; }
From source file:com.bigdata.dastor.db.filter.SliceQueryFilter.java
public SuperColumn filterSuperColumn(SuperColumn superColumn, int gcBefore) { // we clone shallow, then add, under the theory that generally we're interested in a relatively small number of subcolumns. // this may be a poor assumption. SuperColumn scFiltered = superColumn.cloneMeShallow(); Iterator<IColumn> subcolumns; if (reversed) { List<IColumn> columnsAsList = new ArrayList<IColumn>(superColumn.getSubColumns()); subcolumns = new ReverseListIterator(columnsAsList); } else {//from w w w. j a v a 2s .c o m subcolumns = superColumn.getSubColumns().iterator(); } // iterate until we get to the "real" start column Comparator<byte[]> comparator = reversed ? superColumn.getComparator().getReverseComparator() : superColumn.getComparator(); while (subcolumns.hasNext()) { IColumn column = subcolumns.next(); if (comparator.compare(column.name(), start) >= 0) { subcolumns = IteratorUtils.chainedIterator(IteratorUtils.singletonIterator(column), subcolumns); break; } } // subcolumns is either empty now, or has been redefined in the loop above. either is ok. collectReducedColumns(scFiltered, subcolumns, gcBefore); return scFiltered; }
From source file:org.apache.cassandra.db.filter.SliceQueryFilter.java
public SuperColumn filterSuperColumn(SuperColumn superColumn, int gcBefore) { // we clone shallow, then add, under the theory that generally we're interested in a relatively small number of subcolumns. // this may be a poor assumption. SuperColumn scFiltered = superColumn.cloneMeShallow(); Iterator<IColumn> subcolumns; if (reversed) { List<IColumn> columnsAsList = new ArrayList<IColumn>(superColumn.getSubColumns()); subcolumns = new ReverseListIterator(columnsAsList); } else {/*from w ww. ja v a 2 s .c o m*/ subcolumns = superColumn.getSubColumns().iterator(); } // iterate until we get to the "real" start column Comparator<ByteBuffer> comparator = reversed ? superColumn.getComparator().reverseComparator : superColumn.getComparator(); while (subcolumns.hasNext()) { IColumn column = subcolumns.next(); if (comparator.compare(column.name(), start) >= 0) { subcolumns = IteratorUtils.chainedIterator(IteratorUtils.singletonIterator(column), subcolumns); break; } } // subcolumns is either empty now, or has been redefined in the loop above. either is ok. collectReducedColumns(scFiltered, subcolumns, gcBefore); return scFiltered; }
From source file:org.apache.jackrabbit.standalone.cli.CommandHelper.java
/** * Gets the <code>Item</code> s under the given <code>Node</code> that * match the pattern//w ww . j a v a 2 s . c o m * @param ctx * the <code>Context</code> * @param node * the parent <code>Node</code> * @param pattern * the pattern * @return an <code>Iterator</code> with the <code>Item</code> s that * match the given pattern. * @throws RepositoryException * if the underlying repository throws a * <code>RepositoryException</code> */ public static Iterator getItems(Context ctx, Node node, String pattern) throws RepositoryException { return IteratorUtils.chainedIterator(getNodes(ctx, node, pattern), getProperties(ctx, node, pattern)); }
From source file:org.jahia.services.deamons.filewatcher.FileMonitorResult.java
public Iterable<File> getAll() { return new Iterable<File>() { @SuppressWarnings("unchecked") @Override// w ww. ja v a 2s . c om public Iterator<File> iterator() { return IteratorUtils.chainedIterator(getDeleted().iterator(), IteratorUtils.chainedIterator(getChanged().iterator(), getCreated().iterator())); } }; }
From source file:org.kuali.kfs.gl.batch.service.impl.CollectorHelperServiceImpl.java
protected void prescrubParsedCollectorBatch(CollectorBatch collectorBatch, CollectorReportData collectorReportData) { if (preScrubberService.deriveChartOfAccountsCodeIfSpaces()) { PreScrubberReportData preScrubberReportData = collectorReportData.getPreScrubberReportData(); int inputRecords = collectorBatch.getOriginEntries().size(); Set<String> noChartCodesCache = new HashSet<String>(); Set<String> multipleChartCodesCache = new HashSet<String>(); Map<String, String> accountNumberToChartCodeCache = new HashMap<String, String>(); Iterator<?> originEntryAndDetailIterator = IteratorUtils.chainedIterator( collectorBatch.getOriginEntries().iterator(), collectorBatch.getCollectorDetails().iterator()); while (originEntryAndDetailIterator.hasNext()) { Object originEntryOrDetail = originEntryAndDetailIterator.next(); if (StringUtils.isBlank(extractChartOfAccountsCode(originEntryOrDetail))) { String accountNumber = extractAccountNumber(originEntryOrDetail); boolean nonExistent = false; boolean multipleFound = false; String chartOfAccountsCode = null; if (noChartCodesCache.contains(accountNumber)) { nonExistent = true;/*w ww . j a va 2s . c om*/ } else if (multipleChartCodesCache.contains(accountNumber)) { multipleFound = true; } else if (accountNumberToChartCodeCache.containsKey(accountNumber)) { chartOfAccountsCode = accountNumberToChartCodeCache.get(accountNumber); } else { Collection<Account> accounts = accountService.getAccountsForAccountNumber(accountNumber); if (accounts.size() == 1) { chartOfAccountsCode = accounts.iterator().next().getChartOfAccountsCode(); accountNumberToChartCodeCache.put(accountNumber, chartOfAccountsCode); } else if (accounts.size() == 0) { noChartCodesCache.add(accountNumber); nonExistent = true; } else { multipleChartCodesCache.add(accountNumber); multipleFound = true; } } if (!nonExistent && !multipleFound) { setChartOfAccountsCode(originEntryOrDetail, chartOfAccountsCode); } } } preScrubberReportData.getAccountsWithMultipleCharts().addAll(multipleChartCodesCache); preScrubberReportData.getAccountsWithNoCharts().addAll(noChartCodesCache); preScrubberReportData.setInputRecords(preScrubberReportData.getInputRecords() + inputRecords); preScrubberReportData.setOutputRecords(preScrubberReportData.getOutputRecords() + inputRecords); } }
From source file:org.optaplanner.core.impl.domain.valuerange.buildin.composite.NullableValueRange.java
@Override public Iterator<T> createOriginalIterator() { return IteratorUtils.chainedIterator(childValueRange.createOriginalIterator(), new NullValueRangeIterator()); }