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/02/18 23:30:31 UTC

[5/5] incubator-tinkerpop git commit: gutted ReducingStrategy. ReducingBarrierStep is now ready to go @dkuppitz.

gutted ReducingStrategy. ReducingBarrierStep is now ready to go @dkuppitz.


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

Branch: refs/heads/master
Commit: 70391673c2bbee929dd28dd8ccc7e235732fc2f6
Parents: afa593d
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Feb 18 15:30:28 2015 -0700
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed Feb 18 15:30:28 2015 -0700

----------------------------------------------------------------------
 .../gremlin/process/TraversalStrategies.java    | 14 +++++-
 .../step/util/ReducingBarrierStep.java          | 10 ++--
 .../traversal/strategy/ProfileStrategy.java     |  2 -
 .../traversal/strategy/ReducingStrategy.java    | 48 --------------------
 4 files changed, 18 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/70391673/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalStrategies.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalStrategies.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalStrategies.java
index fc7a314..d81f253 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalStrategies.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalStrategies.java
@@ -19,7 +19,18 @@
 package org.apache.tinkerpop.gremlin.process;
 
 import org.apache.tinkerpop.gremlin.process.graph.traversal.__;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.*;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.ComparatorHolderRemovalStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.ConjunctionStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.DedupOptimizerStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.EngineDependentStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.IdentityRemovalStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.LabeledEndStepStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.MatchWhereStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.ProfileStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.RangeByIsCountStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.SideEffectCapStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.SideEffectRegistrationStrategy;
+import org.apache.tinkerpop.gremlin.process.graph.traversal.strategy.TraversalVerificationStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.DefaultTraversalStrategies;
 import org.apache.tinkerpop.gremlin.process.traverser.TraverserGeneratorFactory;
 import org.apache.tinkerpop.gremlin.structure.Edge;
@@ -161,7 +172,6 @@ public interface TraversalStrategies extends Serializable, Cloneable {
                     SideEffectCapStrategy.instance(),
                     MatchWhereStrategy.instance(),
                     ComparatorHolderRemovalStrategy.instance(),
-                    ReducingStrategy.instance(),
                     LabeledEndStepStrategy.instance(),
                     EngineDependentStrategy.instance(),
                     ProfileStrategy.instance(),

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/70391673/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ReducingBarrierStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ReducingBarrierStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ReducingBarrierStep.java
index a861b27..484d65e 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ReducingBarrierStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ReducingBarrierStep.java
@@ -21,12 +21,14 @@ package org.apache.tinkerpop.gremlin.process.graph.traversal.step.util;
 import org.apache.tinkerpop.gremlin.process.FastNoSuchElementException;
 import org.apache.tinkerpop.gremlin.process.Step;
 import org.apache.tinkerpop.gremlin.process.Traversal;
+import org.apache.tinkerpop.gremlin.process.TraversalEngine;
 import org.apache.tinkerpop.gremlin.process.Traverser;
 import org.apache.tinkerpop.gremlin.process.computer.KeyValue;
 import org.apache.tinkerpop.gremlin.process.computer.MapReduce;
 import org.apache.tinkerpop.gremlin.process.computer.traversal.TraversalVertexProgram;
 import org.apache.tinkerpop.gremlin.process.computer.util.StaticMapReduce;
 import org.apache.tinkerpop.gremlin.process.traversal.step.AbstractStep;
+import org.apache.tinkerpop.gremlin.process.traversal.step.EngineDependent;
 import org.apache.tinkerpop.gremlin.process.traversal.step.MapReducer;
 import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
 import org.apache.tinkerpop.gremlin.process.util.TraverserSet;
@@ -34,7 +36,6 @@ import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 
-import java.io.Serializable;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.function.BiFunction;
@@ -43,7 +44,7 @@ import java.util.function.Supplier;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public abstract class ReducingBarrierStep<S, E> extends AbstractStep<S, E> implements MapReducer {
+public abstract class ReducingBarrierStep<S, E> extends AbstractStep<S, E> implements MapReducer, EngineDependent {
 
     public static final String REDUCING = Graph.Hidden.hide("reducing");
 
@@ -72,8 +73,9 @@ public abstract class ReducingBarrierStep<S, E> extends AbstractStep<S, E> imple
         return this.reducingBiFunction;
     }
 
-    public void byPass() {
-        this.byPass = true;
+    @Override
+    public void onEngine(final TraversalEngine traversalEngine) {
+        this.byPass = traversalEngine.isComputer();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/70391673/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/strategy/ProfileStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/strategy/ProfileStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/strategy/ProfileStrategy.java
index 5236faf..675b525 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/strategy/ProfileStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/strategy/ProfileStrategy.java
@@ -20,7 +20,6 @@ package org.apache.tinkerpop.gremlin.process.graph.traversal.strategy;
 
 import org.apache.tinkerpop.gremlin.process.Step;
 import org.apache.tinkerpop.gremlin.process.Traversal;
-import org.apache.tinkerpop.gremlin.process.TraversalEngine;
 import org.apache.tinkerpop.gremlin.process.TraversalStrategy;
 import org.apache.tinkerpop.gremlin.process.graph.traversal.step.sideEffect.ProfileStep;
 import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
@@ -45,7 +44,6 @@ public final class ProfileStrategy extends AbstractTraversalStrategy {
         PRIORS.add(IdentityRemovalStrategy.class);
         PRIORS.add(LabeledEndStepStrategy.class);
         PRIORS.add(MatchWhereStrategy.class);
-        PRIORS.add(ReducingStrategy.class);
         PRIORS.add(SideEffectCapStrategy.class);
         PRIORS.add(SideEffectRegistrationStrategy.class);
         PRIORS.add(RangeByIsCountStrategy.class);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/70391673/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/strategy/ReducingStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/strategy/ReducingStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/strategy/ReducingStrategy.java
deleted file mode 100644
index f5261b3..0000000
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/strategy/ReducingStrategy.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.process.graph.traversal.strategy;
-
-import org.apache.tinkerpop.gremlin.process.Step;
-import org.apache.tinkerpop.gremlin.process.Traversal;
-import org.apache.tinkerpop.gremlin.process.graph.traversal.step.util.ReducingBarrierStep;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public final class ReducingStrategy extends AbstractTraversalStrategy {
-
-    private static final ReducingStrategy INSTANCE = new ReducingStrategy();
-
-    private ReducingStrategy() {
-    }
-
-    @Override
-    public void apply(final Traversal.Admin<?, ?> traversal) {
-        if (traversal.getEngine().isStandard())
-            return;
-
-        final Step endStep = traversal.getEndStep();
-        if (endStep instanceof ReducingBarrierStep)
-            ((ReducingBarrierStep) endStep).byPass();
-    }
-
-    public static ReducingStrategy instance() {
-        return INSTANCE;
-    }
-}