You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/07/20 17:42:57 UTC
tinkerpop git commit: Refactored RemoteStep and RemoteStrategy again.
Repository: tinkerpop
Updated Branches:
refs/heads/TINKERPOP-1278 5a778181c -> b2f42b83e
Refactored RemoteStep and RemoteStrategy again.
Decided to store the traversal Bytecode in the RemoteStep. Cloning the Traversal worked, but I guess would have been bad because RemoteStep needs access to the original Traversal object so that it can eventually inject remote side-effects in there.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b2f42b83
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b2f42b83
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b2f42b83
Branch: refs/heads/TINKERPOP-1278
Commit: b2f42b83e9bec5d7f67250480df99c2bcb09e7d9
Parents: 5a77818
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Jul 20 13:41:23 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Jul 20 13:41:23 2016 -0400
----------------------------------------------------------------------
.../gremlin/process/remote/traversal/step/map/RemoteStep.java | 5 ++++-
.../remote/traversal/strategy/decoration/RemoteStrategy.java | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b2f42b83/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/step/map/RemoteStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/step/map/RemoteStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/step/map/RemoteStep.java
index 651c11e..a8454ec 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/step/map/RemoteStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/step/map/RemoteStep.java
@@ -20,6 +20,7 @@ package org.apache.tinkerpop.gremlin.process.remote.traversal.step.map;
import org.apache.tinkerpop.gremlin.process.remote.RemoteConnection;
import org.apache.tinkerpop.gremlin.process.remote.RemoteConnectionException;
+import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
import org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep;
@@ -38,11 +39,13 @@ public final class RemoteStep<S, E> extends AbstractStep<S, E> {
private transient RemoteConnection remoteConnection;
private Iterator<Traverser.Admin<E>> remoteIterator;
+ private Bytecode bytecode;
@SuppressWarnings("unchecked")
public RemoteStep(final Traversal.Admin traversal, final RemoteConnection remoteConnection) {
super(traversal);
this.remoteConnection = remoteConnection;
+ this.bytecode = traversal.getBytecode();
}
@Override
@@ -56,7 +59,7 @@ public final class RemoteStep<S, E> extends AbstractStep<S, E> {
if (null == this.remoteIterator) {
try {
- this.remoteIterator = this.remoteConnection.submit(this.traversal.getBytecode());
+ this.remoteIterator = this.remoteConnection.submit(this.bytecode);
} catch (final RemoteConnectionException sce) {
throw new IllegalStateException(sce);
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b2f42b83/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/strategy/decoration/RemoteStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/strategy/decoration/RemoteStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/strategy/decoration/RemoteStrategy.java
index 4c9e828..20f7e80 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/strategy/decoration/RemoteStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/strategy/decoration/RemoteStrategy.java
@@ -87,7 +87,7 @@ public final class RemoteStrategy extends AbstractTraversalStrategy<TraversalStr
throw new IllegalStateException("RemoteStrategy expects the RemoteGraph instance to have a RemoteConnection");
// remote step wraps the traversal and emits the results from the remote connection
- final RemoteStep<?, ?> remoteStep = new RemoteStep<>(traversal.clone(), remoteGraph.getConnection());
+ final RemoteStep<?, ?> remoteStep = new RemoteStep<>(traversal, remoteGraph.getConnection());
TraversalHelper.removeAllSteps(traversal);
traversal.addStep(remoteStep);