@Override protected E map(final Traverser.Admin<S> traverser) { //noinspection unchecked return (E) indexer.apply(IteratorUtils.asIterator(traverser.get())); }
public static List asList(final Object o) { return list(asIterator(o)); }
public SideEffectIterator(final Object sideEffect, final String sideEffectKey) { this.sideEffectKey = sideEffectKey; sideEffectAggregator = getAggregatorType(sideEffect); sideEffectIterator = sideEffect instanceof BulkSet ? new BulkSetIterator((BulkSet) sideEffect) : IteratorUtils.asIterator(sideEffect); }
final Iterator itty = IteratorUtils.asIterator(o);
@Override protected E map(final Traverser.Admin<S> traverser) { //noinspection unchecked return (E) indexer.apply(IteratorUtils.asIterator(traverser.get())); }
public static List asList(final Object o) { return list(asIterator(o)); }
public SideEffectIterator(final Object sideEffect, final String sideEffectKey) { this.sideEffectKey = sideEffectKey; sideEffectAggregator = getAggregatorType(sideEffect); sideEffectIterator = sideEffect instanceof BulkSet ? new BulkSetIterator((BulkSet) sideEffect) : IteratorUtils.asIterator(sideEffect); }
private void produceTraversalResult(java.lang.Object result) { // The result of the graph traversal will be an iterator, thus, convert result to an iterator here. Iterator<?> resultIterator = IteratorUtils.asIterator(result); // Iterate result and convert values if necessary. This will perform the actual graph traversal. resultIterator.forEachRemaining(value -> { if (value instanceof ObjectVertex) { // Fetch ObjectEntity and convert to Object model before adding to result. Avoid explicitly checking access to // Object and rely on access control implemented in graph traversal only. Checking this would be too expensive // because it requires fetching Facts for each Object. In addition, accidentally returning non-accessible // Objects will only leak the information that the Object exists and will not give further access to any Facts. ObjectEntity object = ObjectVertex.class.cast(value).getObject(); traversalResult.add(objectConverter.apply(object)); } else if (value instanceof FactEdge) { // Fetch FactEntity and convert to Fact model before adding to result. FactEntity fact = FactEdge.class.cast(value).getFact(); // But only add it if user has access to the Fact. Skip Fact otherwise. if (securityContext.hasReadPermission(fact)) { traversalResult.add(factConverter.apply(fact)); } } else { // Don't know what this is, just add its string representation to result. // For example, it could be a query returning a list of properties. // This mimics the behaviour of gremlin-console and avoids returning arbitrary JSON objects. traversalResult.add(value.toString()); } }); }
final Iterator itty = IteratorUtils.asIterator(o);