List of usage examples for com.google.common.collect Iterators concat
public static <T> Iterator<T> concat(final Iterator<? extends Iterator<? extends T>> inputs)
From source file:org.fcrepo.kernel.impl.rdf.impl.LdpContainerRdfContext.java
private Iterator<Triple> membershipContext(final Iterator<Property> properties) { return Iterators.concat(Iterators.transform(properties, nodes2triples())); }
From source file:ch.ethz.inf.vs.hypermedia.corehal.block.ThingCrawler.java
@Override public Iterator<ThingDescriptionFuture> iterator() { LocationCrawler locationCrawler = new LocationCrawler().withContext(parent); if (targetLocation != null) { locationCrawler = locationCrawler.matchingPrefix(targetLocation); }//from w w w .j a v a 2s .c o m // Use pre order for thing discovery locationCrawler.setPostOrder(false); Iterator<Iterator<ThingDescriptionFuture>> locationResources = Iterators .transform(locationCrawler.iterator(), this::discoverLocation); Iterator<ThingDescriptionFuture> flatLocationResources = Iterators.concat(locationResources); Iterator<WebLink> links = Collections.emptyIterator(); if (parent instanceof LinkListFuture) { links = getSortedWebLinks((LinkListFuture) parent); } return Iterators.filter( Iterators.concat(Iterators.transform(links, ThingCrawler::transform), flatLocationResources), this::filter); }
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//www. j a v a 2 s . 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:backup.store.local.LocalBackupStore.java
@Override public ExtendedBlockEnum<Void> getExtendedBlocks() { File[] pools = dir.listFiles((FileFilter) pathname -> pathname.isDirectory()); Builder<Iterator<ExtendedBlock>> builder = ImmutableList.builder(); for (File pool : pools) { builder.add(getExtendedBlocks(pool)); }/*from w w w . j a v a 2 s . c om*/ return ExtendedBlockEnum.toExtendedBlockEnum(Iterators.concat(builder.build().iterator())); }
From source file:org.fcrepo.kernel.rdf.impl.PropertiesRdfContext.java
private Iterator<Triple> triplesFromProperties(final javax.jcr.Node n) throws RepositoryException { LOGGER.trace("Creating triples for node: {}", n); final UnmodifiableIterator<Property> nonBinaryProperties = Iterators .filter(new PropertyIterator(n.getProperties()), not(isInternalProperty)); final UnmodifiableIterator<Property> nonBinaryPropertiesCopy = Iterators .filter(new PropertyIterator(n.getProperties()), not(isInternalProperty)); return Iterators.concat(new ZippingIterator<>(Iterators.transform(nonBinaryProperties, property2values), Iterators.transform(nonBinaryPropertiesCopy, property2triple))); }
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//from w ww . jav a 2 s. 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.apache.jackrabbit.oak.security.authorization.composite.CompositeAccessControlManager.java
@Override public AccessControlPolicyIterator getApplicablePolicies(String absPath) throws RepositoryException { List<AccessControlPolicyIterator> l = Lists.newArrayList(); for (AccessControlManager acMgr : acMgrs) { if (acMgr instanceof PolicyOwner) { l.add(acMgr.getApplicablePolicies(absPath)); }//from w w w. j a v a 2 s. c o m } return new AccessControlPolicyIteratorAdapter( Iterators.concat(l.toArray(new AccessControlPolicyIterator[l.size()]))); }
From source file:org.jclouds.collect.AdvanceUntilEmptyIterable.java
/** * Combines all the pages into a single unmodifiable iterable. ex. * // w ww. j a v a 2s.co m * <pre> * FluentIterable<StorageMetadata> blobs = blobstore.list(...).concat(); * for (StorageMetadata blob : blobs) { * process(blob); * } * </pre> * * @see Iterators#concat */ public FluentIterable<E> concat() { final Iterator<FluentIterable<E>> iterator = iterator(); final UnmodifiableIterator<Iterator<E>> unmodifiable = new UnmodifiableIterator<Iterator<E>>() { @Override public boolean hasNext() { return iterator.hasNext(); } @Override public Iterator<E> next() { return iterator.next().iterator(); } }; return new FluentIterable<E>() { @Override public Iterator<E> iterator() { return Iterators.concat(unmodifiable); } }; }
From source file:org.apache.cassandra.hadoop.cql3.LimitedLocalNodeFirstLocalBalancingPolicy.java
private static Set<InetAddress> getLocalInetAddresses() { try {// ww w . j a v a2s. c o m return Sets.newHashSet(Iterators .concat(Iterators.transform(Iterators.forEnumeration(NetworkInterface.getNetworkInterfaces()), new Function<NetworkInterface, Iterator<InetAddress>>() { @Override public Iterator<InetAddress> apply(NetworkInterface netIface) { return Iterators.forEnumeration(netIface.getInetAddresses()); } }))); } catch (SocketException e) { logger.warn("Could not retrieve local network interfaces.", e); return Collections.emptySet(); } }
From source file:org.locationtech.geogig.repository.AutoCloseableIterator.java
public static <T> AutoCloseableIterator<T> concat(AutoCloseableIterator<Iterator<T>> its) { Iterator<T> result = Iterators.concat(its); return new AutoCloseableIterator<T>() { @Override//w ww . j av a2s. c o m public boolean hasNext() { return result.hasNext(); } @Override public T next() { return result.next(); } @Override public void close() { its.close(); } }; }