Example usage for org.apache.commons.collections IteratorUtils chainedIterator

List of usage examples for org.apache.commons.collections IteratorUtils chainedIterator

Introduction

In this page you can find the example usage for org.apache.commons.collections IteratorUtils chainedIterator.

Prototype

public static Iterator chainedIterator(Iterator iterator1, Iterator iterator2) 

Source Link

Document

Gets an iterator that iterates through two Iterator s one after another.

Usage

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