Traversal.Admin<?, ?> filterTraversal = (Traversal.Admin<?, ?>) originalStep.getLocalChildren().get(0); List<Step> steps = filterTraversal.getSteps(); if (steps.size()==2 &&
Traversal.Admin<?, ?> filterTraversal = (Traversal.Admin<?, ?>) originalStep.getLocalChildren().get(0); List<Step> steps = filterTraversal.getSteps(); if (steps.size() == 2 &&
private static final boolean processTraversalFilterStep(final TraversalFilterStep<?> step, final Traversal.Admin<?, ?> traversal) { final Traversal.Admin<?, ?> childTraversal = step.getLocalChildren().get(0); if (TraversalHelper.hasAllStepsOfClass(childTraversal, FilterStep.class) && !TraversalHelper.hasStepOfClass(childTraversal, DropStep.class, RangeGlobalStep.class, DedupGlobalStep.class, LambdaHolder.class)) { TraversalHelper.applySingleLevelStrategies(traversal, childTraversal, InlineFilterStrategy.class); final Step<?, ?> finalStep = childTraversal.getEndStep(); TraversalHelper.insertTraversal((Step) step, childTraversal, traversal); TraversalHelper.copyLabels(step, finalStep, false); traversal.removeStep(step); return true; } return false; }
private List<Step> stepsFromFilterStep(TraversalFilterStep<Vertex> filterStep) { // TraversalFilterStep always has exactly one child, so this is safe return filterStep.getLocalChildren().get(0).getSteps(); }
/** * if this is a has(property) step, returns the property key, otherwise returns null * * @param currentStep the step * @return the property which should be not null */ private String isNotNullStep(Step<?, ?> currentStep) { if (currentStep instanceof TraversalFilterStep<?>) { TraversalFilterStep<?> tfs = (TraversalFilterStep<?>) currentStep; List<?> c = tfs.getLocalChildren(); if (c != null && c.size() == 1) { Traversal.Admin<?, ?> a = (Traversal.Admin<?, ?>) c.iterator().next(); Step<?, ?> s = a.getEndStep(); if (a.getSteps().size() == 1 && s instanceof PropertiesStep<?>) { PropertiesStep<?> ps = (PropertiesStep<?>) s; String[] keys = ps.getPropertyKeys(); if (keys != null && keys.length == 1) { return keys[0]; } } } } return null; }
/** * if this is a has(property) step, returns the property key, otherwise returns null * * @param currentStep the step * @return the property which should be not null */ private String isNotNullStep(Step<?, ?> currentStep) { if (currentStep instanceof TraversalFilterStep<?>) { TraversalFilterStep<?> tfs = (TraversalFilterStep<?>) currentStep; List<?> c = tfs.getLocalChildren(); if (c != null && c.size() == 1) { Traversal.Admin<?, ?> a = (Traversal.Admin<?, ?>) c.iterator().next(); Step<?, ?> s = a.getEndStep(); if (a.getSteps().size() == 1 && s instanceof PropertiesStep<?>) { PropertiesStep<?> ps = (PropertiesStep<?>) s; String[] keys = ps.getPropertyKeys(); if (keys != null && keys.length == 1) { return keys[0]; } } } } return null; }
for (@SuppressWarnings("unchecked") TraversalFilterStep<S> traversalFilterStep : traversalFilterSteps) { List<Traversal.Admin<S, ?>> filterTraversals = traversalFilterStep.getLocalChildren(); Preconditions.checkState(filterTraversals.size() == 1); Traversal.Admin<S, ?> filterTraversal = filterTraversals.get(0);
for (@SuppressWarnings("unchecked") TraversalFilterStep<S> traversalFilterStep : traversalFilterSteps) { List<Traversal.Admin<S, ?>> filterTraversals = traversalFilterStep.getLocalChildren(); Preconditions.checkState(filterTraversals.size() == 1); Traversal.Admin<S, ?> filterTraversal = filterTraversals.get(0);
private static final boolean processTraversalFilterStep(final TraversalFilterStep<?> step, final Traversal.Admin<?, ?> traversal) { final Traversal.Admin<?, ?> childTraversal = step.getLocalChildren().get(0); if (TraversalHelper.hasAllStepsOfClass(childTraversal, FilterStep.class) && !TraversalHelper.hasStepOfClass(childTraversal, DropStep.class, RangeGlobalStep.class, DedupGlobalStep.class, LambdaHolder.class)) { TraversalHelper.applySingleLevelStrategies(traversal, childTraversal, InlineFilterStrategy.class); final Step<?, ?> finalStep = childTraversal.getEndStep(); TraversalHelper.insertTraversal((Step) step, childTraversal, traversal); TraversalHelper.copyLabels(step, finalStep, false); traversal.removeStep(step); return true; } return false; }
Traversal.Admin<?, ?> filterTraversal = (Traversal.Admin<?, ?>) originalStep.getLocalChildren().get(0); List<Step> steps = filterTraversal.getSteps(); if (steps.size()==2 &&