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 2017/07/24 20:27:48 UTC
[2/7] tinkerpop git commit: added an auto-attachment feature to
AddEdgeStep. Forgot to commit this in the last push.
added an auto-attachment feature to AddEdgeStep. Forgot to commit this in the last push.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bc6eccba
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bc6eccba
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bc6eccba
Branch: refs/heads/master
Commit: bc6eccba78a34a431bd21dc256538f23c8a78c2f
Parents: 1f82398
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Thu Jul 20 15:15:19 2017 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Thu Jul 20 15:15:19 2017 -0600
----------------------------------------------------------------------
.../process/traversal/step/map/AddEdgeStep.java | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bc6eccba/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
index 03a2fa7..c64f455 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStep.java
@@ -34,11 +34,10 @@ import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.T;
import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.Attachable;
import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -81,19 +80,26 @@ public final class AddEdgeStep<S> extends MapStep<S, Edge>
}
@Override
- public void addTo(final Traversal.Admin<?,?> toObject) {
+ public void addTo(final Traversal.Admin<?, ?> toObject) {
this.parameters.set(this, TO, toObject);
}
@Override
- public void addFrom(final Traversal.Admin<?,?> fromObject) {
+ public void addFrom(final Traversal.Admin<?, ?> fromObject) {
this.parameters.set(this, FROM, fromObject);
}
@Override
protected Edge map(final Traverser.Admin<S> traverser) {
- final Vertex toVertex = this.parameters.get(traverser, TO, () -> (Vertex) traverser.get()).get(0);
- final Vertex fromVertex = this.parameters.get(traverser, FROM, () -> (Vertex) traverser.get()).get(0);
+ Vertex toVertex = this.parameters.get(traverser, TO, () -> (Vertex) traverser.get()).get(0);
+ Vertex fromVertex = this.parameters.get(traverser, FROM, () -> (Vertex) traverser.get()).get(0);
+ if (this.getTraversal().getGraph().isPresent()) {
+ final Graph graph = this.getTraversal().getGraph().get();
+ if (toVertex instanceof Attachable)
+ toVertex = ((Attachable<Vertex>) toVertex).attach(Attachable.Method.get(graph));
+ if (fromVertex instanceof Attachable)
+ fromVertex = ((Attachable<Vertex>) fromVertex).attach(Attachable.Method.get(graph));
+ }
final String edgeLabel = this.parameters.get(traverser, T.label, () -> Edge.DEFAULT_LABEL).get(0);
final Edge edge = fromVertex.addEdge(edgeLabel, toVertex, this.parameters.getKeyValues(traverser, TO, FROM, T.label));