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;
- }
-}