You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/06/24 19:12:16 UTC

incubator-tinkerpop git commit: Removed StartStep.isVariableStartStep() for a static StartStep.isVariableStartStep. Cleans up a lot of instanceof checks.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master cf063b3f5 -> f384fa468


Removed StartStep.isVariableStartStep() for a static StartStep.isVariableStartStep. Cleans up a lot of instanceof checks.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/f384fa46
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/f384fa46
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/f384fa46

Branch: refs/heads/master
Commit: f384fa468dbf0641029bd58880371afe21aa5c22
Parents: cf063b3
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Jun 24 11:12:12 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed Jun 24 11:12:12 2015 -0600

----------------------------------------------------------------------
 .../process/traversal/step/filter/WhereTraversalStep.java      | 2 +-
 .../gremlin/process/traversal/step/map/MatchStep.java          | 4 ++--
 .../gremlin/process/traversal/step/sideEffect/StartStep.java   | 6 +-----
 .../traversal/strategy/decoration/ConjunctionStrategy.java     | 2 +-
 .../gremlin/process/traversal/util/TraversalHelper.java        | 2 +-
 5 files changed, 6 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f384fa46/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTraversalStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTraversalStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTraversalStep.java
index d065610..f0dad11 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTraversalStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTraversalStep.java
@@ -70,7 +70,7 @@ public final class WhereTraversalStep<S> extends FilterStep<S> implements Traver
         final Step<?, ?> startStep = whereTraversal.getStartStep();
         if (startStep instanceof ConjunctionStep || startStep instanceof NotStep) {       // for conjunction- and not-steps
             ((TraversalParent) startStep).getLocalChildren().forEach(this::configureStartAndEndSteps);
-        } else if (startStep instanceof StartStep && ((StartStep) startStep).isVariableStartStep()) {  // as("a").out()... traversals
+        } else if (StartStep.isVariableStartStep(startStep)) {  // as("a").out()... traversals
             final String label = startStep.getLabels().iterator().next();
             this.scopeKeys.add(label);
             TraversalHelper.replaceStep(startStep, new WhereStartStep(whereTraversal, label), whereTraversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f384fa46/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java
index 8185270..e915b51 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchStep.java
@@ -83,7 +83,7 @@ public final class MatchStep<S, E> extends ComputerAwareStep<S, Map<String, E>>
         this.conjunction = conjunction;
         this.startKey = startKey;
         if (null != this.startKey) {
-            if (this.traversal.getEndStep() instanceof StartStep && ((StartStep) this.traversal.getEndStep()).isVariableStartStep())  // in case a match() is after the start step
+            if (StartStep.isVariableStartStep(this.traversal.getEndStep()))  // in case a match() is after the start step
                 this.traversal.addStep(new IdentityStep<>(this.traversal));
             this.traversal.getEndStep().addLabel(this.startKey);
         }
@@ -125,7 +125,7 @@ public final class MatchStep<S, E> extends ComputerAwareStep<S, Map<String, E>>
             TraversalHelper.removeToTraversal(startStep, startStep.getNextStep(), notTraversal);
             matchTraversal.addStep(0, new WhereTraversalStep<>(matchTraversal, Scope.global, notTraversal));
             this.configureStartAndEndSteps(matchTraversal);
-        } else if (startStep instanceof StartStep && ((StartStep) startStep).isVariableStartStep()) {
+        } else if (StartStep.isVariableStartStep(startStep)) {
             final String label = startStep.getLabels().iterator().next();
             this.matchStartLabels.add(label);
             TraversalHelper.replaceStep((Step) matchTraversal.getStartStep(), new MatchStartStep(matchTraversal, label), matchTraversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f384fa46/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/StartStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/StartStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/StartStep.java
index fa471b6..f401be2 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/StartStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/StartStep.java
@@ -94,11 +94,7 @@ public class StartStep<S> extends AbstractStep<S, S> {
         return result;
     }
 
-    public boolean isVariableStartStep() {
-        return null == this.start && this.getClass().equals(StartStep.class) && this.getLabels().size() == 1;
-    }
-
     public static boolean isVariableStartStep(final Step<?, ?> step) {
-        return step instanceof StartStep && ((StartStep) step).isVariableStartStep();
+        return step.getClass().equals(StartStep.class) && null == ((StartStep) step).start && ((StartStep) step).labels.size() == 1;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f384fa46/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/ConjunctionStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/ConjunctionStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/ConjunctionStrategy.java
index 1fb6051..cb6b36d 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/ConjunctionStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/ConjunctionStrategy.java
@@ -60,7 +60,7 @@ public final class ConjunctionStrategy extends AbstractTraversalStrategy<Travers
     }
 
     private static boolean legalCurrentStep(final Step<?, ?> step) {
-        return !(step instanceof EmptyStep || step instanceof ComputerAwareStep.EndStep || (step instanceof StartStep && !((StartStep) step).isVariableStartStep()));
+        return !(step instanceof EmptyStep || step instanceof ComputerAwareStep.EndStep || (step instanceof StartStep && !StartStep.isVariableStartStep(step)));
     }
 
     private static void processConjunctionMarkers(final Traversal.Admin<?, ?> traversal) {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f384fa46/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalHelper.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalHelper.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalHelper.java
index 7325b91..f5911a6 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalHelper.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalHelper.java
@@ -340,7 +340,7 @@ public final class TraversalHelper {
     private static Set<Scoping.Variable> getVariableLocations(final Set<Scoping.Variable> variables, final Traversal.Admin<?, ?> traversal) {
         if (variables.size() == 2) return variables;    // has both START and END so no need to compute further
         final Step<?, ?> startStep = traversal.getStartStep();
-        if (startStep instanceof StartStep && ((StartStep) startStep).isVariableStartStep())
+        if (StartStep.isVariableStartStep(startStep))
             variables.add(Scoping.Variable.START);
         else if (startStep instanceof WherePredicateStep) {
             if (((WherePredicateStep) startStep).getStartKey().isPresent())