Example usage for com.google.common.collect Iterators transform

List of usage examples for com.google.common.collect Iterators transform

Introduction

In this page you can find the example usage for com.google.common.collect Iterators transform.

Prototype

public static <F, T> Iterator<T> transform(final Iterator<F> fromIterator,
        final Function<? super F, ? extends T> function) 

Source Link

Document

Returns an iterator that applies function to each element of fromIterator .

Usage

From source file:qdg.ListDiGraph.java

@Override
public Iterator<Edge> getOutArcIterator(Node node) {
    return Iterators.transform(arcLace.getOutArcIterator(((N) node).getId()), constructEdge);
}

From source file:qdg.ListUGraph.java

@Override
public Iterator<Edge> getIncidentUEdgeIterator(Node node) {
    return Iterators.transform(new ConcatIterator<Integer>(uEdgeLace.getOutArcIterator(((N) node).getId()),
            uEdgeLace.getInArcIterator(((N) node).getId())), constructEdge);
}

From source file:org.fcrepo.kernel.modeshape.rdf.impl.NodeTypeRdfContext.java

/**
 * Convert a NodeType into an RDF stream by capturing the supertypes, node
 * definitions, and property definitions of the type as RDFS triples.
 *
 * @param nodeType the node type/*from w w  w. ja  va 2s .  co  m*/
 * @throws RepositoryException if repository exception occurred
 */
public NodeTypeRdfContext(final NodeType nodeType) throws RepositoryException {
    super();

    final Node nodeTypeResource = getResource(nodeType).asNode();
    final String nodeTypeName = nodeType.getName();

    LOGGER.trace("Adding triples for nodeType: {} with URI: {}", nodeTypeName, nodeTypeResource.getURI());

    concat(Collections2.transform(copyOf(nodeType.getDeclaredSupertypes()), uncheck((final NodeType x) -> {
        final Node supertypeNode = getResource(x).asNode();
        LOGGER.trace("Adding triple for nodeType: {} with subclass: {}", nodeTypeName, supertypeNode.getURI());
        return create(nodeTypeResource, subClassOf.asNode(), supertypeNode);
    })::apply));

    concat(Iterators.concat(Iterators.transform(
            Iterators.filter(forArray(nodeType.getDeclaredChildNodeDefinitions()),
                    isWildcardResidualDefinition.negate()::test),
            (new NodeDefinitionToTriples(nodeTypeResource))::apply)));

    concat(Iterators.concat(Iterators.transform(
            Iterators.filter(forArray(nodeType.getDeclaredPropertyDefinitions()),
                    isWildcardResidualDefinition.negate()::test),
            (new PropertyDefinitionToTriples(nodeTypeResource))::apply)));

    concat(create(nodeTypeResource, type.asNode(), Class.asNode()),
            create(nodeTypeResource, label.asNode(), createLiteral(nodeTypeName)));
}

From source file:org.locationtech.geogig.osm.internal.history.HistoryDownloader.java

/**
 * @return the next available changeset, or absent if reached the last one
 * @throws IOException//  w ww . j  a v  a  2s .  c om
 * @throws InterruptedException
 */
public Iterator<Changeset> fetchChangesets() {

    Range<Long> range = Range.closed(initialChangeset, finalChangeset);
    ContiguousSet<Long> changesetIds = ContiguousSet.create(range, DiscreteDomain.longs());
    final int fetchSize = 100;
    Iterator<List<Long>> partitions = Iterators.partition(changesetIds.iterator(), fetchSize);

    Function<List<Long>, Iterator<Changeset>> asChangesets = new Function<List<Long>, Iterator<Changeset>>() {
        @Override
        public Iterator<Changeset> apply(List<Long> batchIds) {

            Iterable<Changeset> changesets = downloader.fetchChangesets(batchIds);

            for (Changeset changeset : changesets) {
                if (filter.apply(changeset)) {
                    Supplier<Optional<File>> changesFile;
                    changesFile = downloader.fetchChanges(changeset.getId());
                    Supplier<Optional<Iterator<Change>>> changes = new ChangesSupplier(changesFile);
                    changeset.setChanges(changes);
                }
            }

            return changesets.iterator();
        }
    };

    Iterator<Iterator<Changeset>> changesets = Iterators.transform(partitions, asChangesets);
    Iterator<Changeset> concat = Iterators.concat(changesets);
    return concat;
}

From source file:org.locationtech.geogig.api.plumbing.diff.DepthTreeIterator.java

@Override
protected NodeRef computeNext() {
    if (iterator == null) {
        switch (strategy) {
        case CHILDREN:
            iterator = Iterators.transform(new Children(tree), functor);
            break;
        case FEATURES_ONLY:
            iterator = Iterators.transform(new Features(tree), functor);
            break;
        case TREES_ONLY:
            iterator = Iterators.transform(new Trees(tree), functor);
            break;
        case RECURSIVE:
            iterator = new Recursive(treePath, metadataId, tree, true, true);
            break;
        case RECURSIVE_FEATURES_ONLY:
            iterator = new Recursive(treePath, metadataId, tree, true, false);
            break;
        case RECURSIVE_TREES_ONLY:
            iterator = new Recursive(treePath, metadataId, tree, false, true);
            break;
        default:/*from   ww  w  . j av a  2s.  c  om*/
            throw new IllegalArgumentException("Unrecognized strategy: " + strategy);
        }

    }
    if (iterator.hasNext()) {
        return iterator.next();
    }
    return endOfData();
}

From source file:org.apache.drill.exec.store.sys.store.ZookeeperPersistentStore.java

@Override
public Iterator<Map.Entry<String, V>> getRange(final int skip, final int take) {
    final Iterator<Map.Entry<String, byte[]>> entries = client.entries();
    Iterators.advance(entries, skip);/*from   w w  w . j  a va 2  s .  c o m*/
    return Iterators.transform(Iterators.limit(entries, take),
            new Function<Map.Entry<String, byte[]>, Map.Entry<String, V>>() {
                @Nullable
                @Override
                public Map.Entry<String, V> apply(@Nullable Map.Entry<String, byte[]> input) {
                    try {
                        final V value = config.getSerializer().deserialize(input.getValue());
                        return new ImmutableEntry<>(input.getKey(), value);
                    } catch (final IOException e) {
                        throw new DrillRuntimeException(
                                String.format("unable to deserialize value at key %s", input.getKey()), e);
                    }
                }
            });
}

From source file:oncue.scheduler.UnscheduledJobs.java

/**
 * Remove a list of jobs from anywhere in the queue
 * //w w w .ja  v  a2s .  c  om
 * @return a boolean, indicating if the removal was successful
 */
public boolean removeJobs(List<Job> jobs) {
    final Set<Long> jobIds = Sets.newHashSet(Iterators.transform(jobs.iterator(), new Function<Job, Long>() {

        @Override
        public Long apply(Job input) {
            return input.getId();
        }

    }));

    boolean removed = Iterables.removeIf(unscheduledJobs, new Predicate<Job>() {
        @Override
        public boolean apply(Job input) {
            return jobIds.contains(input.getId());
        }
    });

    if (backingStore != null && removed)
        for (Job job : jobs) {
            backingStore.removeUnscheduledJobById(job.getId());
        }

    return removed;
}

From source file:org.locationtech.geogig.storage.internal.ObjectStoreDiffObjectIterator.java

private Iterator<DiffObjectInfo<T>> createBatch(List<DiffEntry> entries, Map<ObjectId, T> values) {

    return Iterators.transform(entries.iterator(), e -> toDiffObject(e, values));
}

From source file:org.terasology.rendering.nui.layers.ingame.inventory.InventoryGrid.java

@Override
public Iterator<UIWidget> iterator() {
    return Iterators.transform(cells.iterator(), new Function<UIWidget, UIWidget>() {
        @Override//from   w  w w .j  a  v  a 2 s . c  om
        public UIWidget apply(UIWidget input) {
            return input;
        }
    });
}

From source file:org.polarsys.reqcycle.traceability.cache.storagebased.engine.StorageBasedTraceabilityEngine.java

@SuppressWarnings("unchecked")
@Override/*from   ww  w  .  j av  a  2s  .  c om*/
protected Iterator<Pair<Link, Reachable>> doGetTraceability(Reachable source, DIRECTION direction,
        Predicate<Pair<Link, Reachable>> scope) {
    IPicker picker = new GetTraceabilityPicker(direction, storage, scope);
    ZigguratInject.inject(picker);
    IPicker[] pickers = new IPicker[] { picker };
    IteratorFactory factory = new IteratorFactory(Arrays.asList(pickers));
    factory.activateDepthWisdom();
    factory.activateRedundancyAwareness();
    Iterator<Object> iterator = factory.createIterable(source).iterator();
    iterator.next();
    List<Pair<Link, Reachable>> list = Lists
            .newArrayList(Iterators.transform(iterator, new Function<Object, Pair<Link, Reachable>>() {
                public Pair<Link, Reachable> apply(Object o) {
                    return (Pair<Link, Reachable>) o;
                }
            }));
    return list.iterator();
}