@Override public String toString() { return this.hasContainers.isEmpty() ? super.toString() : StringFactory.stepString(this, this.hasContainers); }
public TitanGraphStep(final GraphStep<E> originalStep) { super(originalStep.getTraversal(), originalStep.getReturnClass(), originalStep.getIds()); originalStep.getLabels().forEach(this::addLabel); this.setIteratorSupplier(() -> { TitanTransaction tx = TitanTraversalUtil.getTx(traversal); TitanGraphQuery query = tx.query(); for (HasContainer condition : hasContainers) { query.has(condition.getKey(), TitanPredicate.Converter.convert(condition.getBiPredicate()), condition.getValue()); } for (OrderEntry order : orders) query.orderBy(order.key, order.order); if (limit != BaseQuery.NO_LIMIT) query.limit(limit); ((GraphCentricQueryBuilder) query).profiler(queryProfiler); return Vertex.class.isAssignableFrom(this.returnClass) ? query.vertices().iterator() : query.edges().iterator(); }); }
if (startStep instanceof GraphStep) { final GraphStep<?> originalGraphStep = (GraphStep) startStep; if (originalGraphStep.getIds() == null || originalGraphStep.getIds().length == 0) { } else { Object[] ids = originalGraphStep.getIds(); ElementUtils.verifyArgsMustBeEitherIdorElement(ids); if (ids[0] instanceof Element) { elementIds[i] = ((Element) ids[i]).id(); originalGraphStep.setIteratorSupplier(() -> (Iterator) (originalGraphStep.returnsVertex() ? originalGraphStep.getTraversal().getGraph().get().vertices(elementIds) : originalGraphStep.getTraversal().getGraph().get().edges(elementIds)));
private static FulgoraElementTraversal<Vertex,Edge> getReverseTraversal(final MessageScope.Local<?> scope, final TitanTransaction graph, @Nullable final Vertex start) { Traversal.Admin<Vertex,Edge> incident = scope.getIncidentTraversal().get().asAdmin(); FulgoraElementTraversal<Vertex,Edge> result = FulgoraElementTraversal.of(graph); for (Step step : incident.getSteps()) result.addStep(step); Step<Vertex,?> startStep = result.getStartStep(); assert startStep instanceof VertexStep; ((VertexStep) startStep).reverseDirection(); if (start!=null) result.addStep(0, new StartStep<>(incident, start)); result.asAdmin().setStrategies(FULGORA_STRATEGIES); return result; }
@Override public boolean hasNext() { boolean start = super.hasNext(); if (!this.onGraphComputer && !start) { final DefaultTraversalMetrics m = getTraversalMetricsFromSideEffects(); if (!m.isFinalized()) m.setMetrics(this.getTraversal(), false); } return start; }
@Override public void setTraversal(final Traversal.Admin<?, ?> parentTraversal) { super.setTraversal(parentTraversal); this.integrateChild(this.keyTraversal); this.integrateChild(this.valueTraversal); }
@Override public void setTraversal(final Traversal.Admin<?, ?> parentTraversal) { super.setTraversal(parentTraversal); this.integrateChild(this.keyTraversal); }
@Override public void setTraversal(final Traversal.Admin<?, ?> parentTraversal) { super.setTraversal(parentTraversal); this.integrateChild(this.sideEffectTraversal); }
@Override public void setTraversal(final Traversal.Admin<?, ?> parentTraversal) { super.setTraversal(parentTraversal); this.integrateChild(this.sackTraversal); } }
@Override public void setTraversal(final Traversal.Admin<?, ?> parentTraversal) { super.setTraversal(parentTraversal); this.integrateChild(this.storeTraversal); }
@Override public void modulateBy(final Traversal.Admin<?, ?> storeTraversal) { this.storeTraversal = this.integrateChild(storeTraversal); }
@Override public Set<TraverserRequirement> getRequirements() { return this.getSelfAndChildRequirements(TraverserRequirement.PATH, TraverserRequirement.SIDE_EFFECTS); }
@Override public void modulateBy(final Traversal.Admin<?, ?> keyTraversal) throws UnsupportedOperationException { this.keyTraversal = this.integrateChild(keyTraversal); } }
@Override public Set<TraverserRequirement> getRequirements() { return this.getSelfAndChildRequirements(); } }
@Override public SubgraphStep clone() { final SubgraphStep clone = (SubgraphStep) super.clone(); this.subgraph = null; return clone; }
@Override public Set<TraverserRequirement> getRequirements() { return this.getSelfAndChildRequirements(TraverserRequirement.OBJECT); }
@Override public Set<TraverserRequirement> getRequirements() { return this.getSelfAndChildRequirements(TraverserRequirement.BULK, TraverserRequirement.SIDE_EFFECTS); }
@Override public void modulateBy(final Traversal.Admin<?, ?> aggregateTraversal) { this.aggregateTraversal = this.integrateChild(aggregateTraversal); }
@Override public Set<TraverserRequirement> getRequirements() { return this.getSelfAndChildRequirements(TraverserRequirement.SIDE_EFFECTS, TraverserRequirement.BULK); }
private static FulgoraElementTraversal<Vertex,Edge> getReverseTraversal(final MessageScope.Local<?> scope, final JanusGraphTransaction graph, @Nullable final Vertex start) { Traversal.Admin<Vertex,Edge> incident = scope.getIncidentTraversal().get().asAdmin(); FulgoraElementTraversal<Vertex,Edge> result = FulgoraElementTraversal.of(graph); for (Step step : incident.getSteps()) result.addStep(step); Step<Vertex,?> startStep = result.getStartStep(); assert startStep instanceof VertexStep; ((VertexStep) startStep).reverseDirection(); if (start!=null) result.addStep(0, new StartStep<>(incident, start)); result.asAdmin().setStrategies(FULGORA_STRATEGIES); return result; }