@SuppressWarnings("deprecation") private void initialize() { assert !initialized; initialized = true; assert getReturnType().forProperties() || (orders.isEmpty() && hasContainers.isEmpty()); if (!starts.hasNext()) throw FastNoSuchElementException.instance(); List<Traverser.Admin<Element>> elements = new ArrayList<>(); starts.forEachRemaining(v -> elements.add(v)); starts.add(elements.iterator()); assert elements.size() > 0; useMultiQuery = useMultiQuery && elements.stream().noneMatch(e -> !(e.get() instanceof Vertex)); if (useMultiQuery) { TitanMultiVertexQuery mquery = TitanTraversalUtil.getTx(traversal).multiQuery(); elements.forEach(e -> mquery.addVertex((Vertex) e.get())); makeQuery(mquery); multiQueryResults = mquery.properties(); } }
@SuppressWarnings("deprecation") private void initialize() { assert !initialized; initialized = true; if (useMultiQuery) { if (!starts.hasNext()) throw FastNoSuchElementException.instance(); TitanMultiVertexQuery mquery = TitanTraversalUtil.getTx(traversal).multiQuery(); List<Traverser.Admin<Vertex>> vertices = new ArrayList<>(); starts.forEachRemaining(v -> { vertices.add(v); mquery.addVertex(v.get()); }); starts.add(vertices.iterator()); assert vertices.size() > 0; makeQuery(mquery); multiQueryResults = (Vertex.class.isAssignableFrom(getReturnClass())) ? mquery.vertices() : mquery.edges(); } }
@SuppressWarnings("deprecation") private void initialize() { assert !initialized; initialized = true; assert getReturnType().forProperties() || (orders.isEmpty() && hasContainers.isEmpty()); if (!starts.hasNext()) throw FastNoSuchElementException.instance(); final List<Traverser.Admin<Element>> elements = new ArrayList<>(); starts.forEachRemaining(elements::add); starts.add(elements.iterator()); assert elements.size() > 0; useMultiQuery = useMultiQuery && elements.stream().allMatch(e -> e.get() instanceof Vertex); if (useMultiQuery) { final JanusGraphMultiVertexQuery multiQuery = JanusGraphTraversalUtil.getTx(traversal).multiQuery(); elements.forEach(e -> multiQuery.addVertex((Vertex) e.get())); makeQuery(multiQuery); multiQueryResults = multiQuery.properties(); } }
@SuppressWarnings("deprecation") private void initialize() { assert !initialized; initialized = true; if (useMultiQuery) { if (!starts.hasNext()) { throw FastNoSuchElementException.instance(); } final JanusGraphMultiVertexQuery multiQuery = JanusGraphTraversalUtil.getTx(traversal).multiQuery(); final List<Traverser.Admin<Vertex>> vertices = new ArrayList<>(); starts.forEachRemaining(v -> { vertices.add(v); multiQuery.addVertex(v.get()); }); starts.add(vertices.iterator()); assert vertices.size() > 0; makeQuery(multiQuery); multiQueryResults = (Vertex.class.isAssignableFrom(getReturnClass())) ? multiQuery.vertices() : multiQuery.edges(); } }
@Override public S next() { if (this.count++ >= limit) throw FastNoSuchElementException.instance(); return iterator.next(); } };
@Override public Traverser.Admin<S> remove() { // pop, exception if empty final Iterator<Traverser.Admin<S>> iterator = this.map.values().iterator(); if (!iterator.hasNext()) throw FastNoSuchElementException.instance(); final Traverser.Admin<S> next = iterator.next(); iterator.remove(); return next; }
@Override protected boolean filter(final Traverser.Admin<S> traverser) { if (this.startTime.get() == -1l) this.startTime.set(System.currentTimeMillis()); if ((System.currentTimeMillis() - this.startTime.get()) >= this.timeLimit) { this.timedOut.set(true); throw FastNoSuchElementException.instance(); } return true; }
@Override public T next() { if (this.hasNext()) { this.current++; return this.array[this.current - 1]; } else { throw FastNoSuchElementException.instance(); } }
@Override public E nextBarrier() { if (!this.hasNextBarrier()) throw FastNoSuchElementException.instance(); else { final E temp = this.seed; this.seed = null; return temp; } }
@Override public E next() { if (this.hasNext()) return this.currentIterator.next(); else throw FastNoSuchElementException.instance(); } };
@Override protected E map(final Traverser.Admin<S> traverser) { final Iterator<E> iterator = traverser.get().iterator(); if (iterator.hasNext()) { Number result = iterator.next(); while (iterator.hasNext()) { result = NumberHelper.add(result, iterator.next()); } return (E) result; } throw FastNoSuchElementException.instance(); }
@Override protected E map(final Traverser.Admin<S> traverser) { final Iterator<E> iterator = traverser.get().iterator(); if (iterator.hasNext()) { Comparable result = iterator.next(); while (iterator.hasNext()) { result = max(iterator.next(), result); } return (E) result; } throw FastNoSuchElementException.instance(); }
@Override public Tuple2<K, V> next() { if (!this.queue.isEmpty()) return this.queue.remove(); else if (!this.inputIterator.hasNext()) { this.mapReduce.workerEnd(MapReduce.Stage.MAP); throw FastNoSuchElementException.instance(); } else { this.processNext(); return this.next(); } }
@Override public TraverserSet<S> nextBarrier() throws NoSuchElementException { this.processAllStarts(); if (this.barrier.isEmpty()) throw FastNoSuchElementException.instance(); else { final TraverserSet<S> temp = this.barrier; this.barrier = new TraverserSet<>(); return temp; } }
@Override public TraverserSet<S> nextBarrier() throws NoSuchElementException { this.processAllStarts(); if (this.barrier.isEmpty()) throw FastNoSuchElementException.instance(); else { final TraverserSet<S> temp = this.barrier; this.barrier = new TraverserSet<>(); return temp; } }
@Override protected Traverser.Admin<Long> processNextStart() throws NoSuchElementException { if (!this.done) { this.done = true; final TinkerGraph graph = (TinkerGraph) this.getTraversal().getGraph().get(); return this.getTraversal().getTraverserGenerator().generate(Vertex.class.isAssignableFrom(this.elementClass) ? (long) TinkerHelper.getVertices(graph).size() : (long) TinkerHelper.getEdges(graph).size(), (Step) this, 1L); } else throw FastNoSuchElementException.instance(); }
@Override public Traverser.Admin<E> processNextStart() { this.processAllStarts(); if (this.seed == null) throw FastNoSuchElementException.instance(); final Traverser.Admin<E> traverser = this.getTraversal().getTraverserGenerator().generate(this.generateFinalResult(this.seed), (Step<E, E>) this, 1l); this.seed = null; return traverser; }
@Override public TraverserSet<S> nextBarrier() throws NoSuchElementException { if (!this.starts.hasNext()) throw FastNoSuchElementException.instance(); final TraverserSet<S> barrier = new TraverserSet<>(); while (this.starts.hasNext()) { barrier.add(this.starts.next()); } return barrier; }
@Override public TraverserSet<S> nextBarrier() throws NoSuchElementException { if(!this.starts.hasNext()) throw FastNoSuchElementException.instance(); final TraverserSet<S> barrier = new TraverserSet<>(); while (this.starts.hasNext()) { barrier.add(this.starts.next()); } return barrier; }
@Override public Traverser.Admin<E> processNextStart() { if (this.done) throw FastNoSuchElementException.instance(); this.processAllStarts(); this.done = true; return this.getTraversal().asAdmin().getTraverserGenerator().generate(this.supply(), (Step<E, E>) this, 1l); }