List of usage examples for com.google.common.collect Iterators transform
public static <F, T> Iterator<T> transform(final Iterator<F> fromIterator, final Function<? super F, ? extends T> function)
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(); }