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 2016/02/13 16:34:57 UTC

[03/17] incubator-tinkerpop git commit: fixed a bug around Serialization of GraphComputer. Integration tests now pass. Cool.

fixed a bug around Serialization of GraphComputer. Integration tests now pass. Cool.


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

Branch: refs/heads/master
Commit: e5c3d784e2db06febd4da1d079712336818fd0ca
Parents: f2dbb0f
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Feb 10 11:59:04 2016 -0700
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed Feb 10 11:59:04 2016 -0700

----------------------------------------------------------------------
 .../computer/traversal/TraversalVertexProgram.java   |  2 +-
 .../finalization/TraversalVertexProgramStrategy.java | 15 ++++++++++-----
 .../hadoop/groovy/plugin/HadoopRemoteAcceptor.java   |  2 +-
 3 files changed, 12 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/e5c3d784/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java
index 13eb0c2..fb3ff1e 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java
@@ -122,7 +122,7 @@ public final class TraversalVertexProgram implements VertexProgram<TraverserSet<
             this.mapReducers.add(mapReducer.getMapReduce());
 
         }
-        if (!(this.traversal.getEndStep().getPreviousStep() instanceof SideEffectCapStep) && !(this.traversal.getEndStep().getPreviousStep() instanceof ReducingBarrierStep))
+        if (!(this.traversal.getEndStep() instanceof SideEffectCapStep) && !(this.traversal.getEndStep() instanceof ReducingBarrierStep))
             this.mapReducers.add(new TraverserMapReduce(this.traversal));
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/e5c3d784/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/TraversalVertexProgramStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/TraversalVertexProgramStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/TraversalVertexProgramStrategy.java
index 0367552..60cfa53 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/TraversalVertexProgramStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/finalization/TraversalVertexProgramStrategy.java
@@ -27,6 +27,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategies;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.EmptyStep;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ComputerVerificationStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.traverser.TraverserRequirement;
 import org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
@@ -53,11 +54,15 @@ public final class TraversalVertexProgramStrategy extends AbstractTraversalStrat
     @Override
     public void apply(final Traversal.Admin<?, ?> traversal) {
         traversal.addTraverserRequirement(TraverserRequirement.BULK); // all computer traversals require bulking
-        if (traversal.getParent() instanceof EmptyStep && null != this.graphComputerFunction) { // if the function is null, then its been serialized and thus, already in a graph computer
-            Traversal.Admin<?, ?> newTraversal = new DefaultTraversal<>();
-            TraversalHelper.removeToTraversal(traversal.getStartStep(), EmptyStep.instance(), (Traversal.Admin) newTraversal);
-            traversal.addStep(new TraversalVertexProgramStep<>(traversal, newTraversal, this.graphComputerFunction.apply(traversal.getGraph().get())));
-            traversal.addStep(new ComputerResultStep<>(traversal, true));
+        if (traversal.getParent() instanceof EmptyStep) {
+            if (null != this.graphComputerFunction) {   // if the function is null, then its been serialized and thus, already in a graph computer
+                Traversal.Admin<?, ?> newTraversal = new DefaultTraversal<>();
+                TraversalHelper.removeToTraversal(traversal.getStartStep(), EmptyStep.instance(), (Traversal.Admin) newTraversal);
+                traversal.addStep(new TraversalVertexProgramStep<>(traversal, newTraversal, this.graphComputerFunction.apply(traversal.getGraph().get())));
+                traversal.addStep(new ComputerResultStep<>(traversal, true));
+            } else {
+                ComputerVerificationStrategy.instance().apply(traversal);
+            }
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/e5c3d784/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopRemoteAcceptor.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopRemoteAcceptor.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopRemoteAcceptor.java
index d78e9c7..fdcf1df 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopRemoteAcceptor.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopRemoteAcceptor.java
@@ -100,7 +100,7 @@ public final class HadoopRemoteAcceptor implements RemoteAcceptor {
             this.shell.getInterp().getContext().setVariable(RESULT, computerResult);
             ///
             final Traversal.Admin<ComputerResult, ?> traversal = new DefaultTraversal<>(computerResult.graph());
-            traversal.addStep(new ComputerResultStep<>(traversal, false));  // TODO: FIX THIS UP
+            traversal.addStep(new ComputerResultStep<>(traversal, false));
             traversal.addStart(traversal.getTraverserGenerator().generate(computerResult, EmptyStep.instance(), 1l));
             return traversal;
         } catch (final Exception e) {