You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2015/05/12 04:14:19 UTC

[01/12] incubator-tinkerpop git commit: Use GroovySystem to access the MetaRegistry.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/TINKERPOP3-666 b9ea99938 -> ae5022e08


Use GroovySystem to access the MetaRegistry.


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

Branch: refs/heads/TINKERPOP3-666
Commit: 0ca191a60f5c77da17aa97074c00d148115ba4b1
Parents: dbd2750
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon May 11 14:25:20 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon May 11 14:25:20 2015 -0400

----------------------------------------------------------------------
 .../apache/tinkerpop/gremlin/groovy/util/MetaRegistryUtil.groovy | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/0ca191a6/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/util/MetaRegistryUtil.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/util/MetaRegistryUtil.groovy b/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/util/MetaRegistryUtil.groovy
index 9d56d11..7918edc 100644
--- a/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/util/MetaRegistryUtil.groovy
+++ b/gremlin-groovy/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/util/MetaRegistryUtil.groovy
@@ -18,8 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.groovy.util
 
-import org.codehaus.groovy.runtime.InvokerHelper
-
 /**
  * Helper functions for working with the Groovy {@code MetaRegistry}.
  *
@@ -32,7 +30,7 @@ class MetaRegistryUtil {
      * were added to a class, then this method will clear those methods from the supplied classes.
      */
     public static void clearRegistry(final Set<Class> toClear) {
-        def metaRegistry = InvokerHelper.getMetaRegistry()
+        def metaRegistry = GroovySystem.metaClassRegistry
 
         // this call returns interfaces and removes meta clases from there.  not sure why it doesn't return
         // concrete classes that are in the registry, but such is the nature of groovy


[03/12] incubator-tinkerpop git commit: added back a test for DetachGraphTest as if the label of the adjacent vertex doesn't exist, fail silently.

Posted by dk...@apache.org.
added back a test for DetachGraphTest as if the label of the adjacent vertex doesn't exist, fail silently.


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

Branch: refs/heads/TINKERPOP3-666
Commit: d7836ce0f18a2f556e39a3895635e6d88c31ce6d
Parents: 4bbbb63
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Mon May 11 14:12:43 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon May 11 14:12:43 2015 -0600

----------------------------------------------------------------------
 .../gremlin/structure/util/detached/DetachedGraphTest.java      | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/d7836ce0/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedGraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedGraphTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedGraphTest.java
index fd92b8f..4990a74 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedGraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedGraphTest.java
@@ -26,6 +26,7 @@ import org.apache.tinkerpop.gremlin.FeatureRequirement;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.TestHelper;
 import org.apache.tinkerpop.gremlin.structure.Direction;
+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;
@@ -84,12 +85,12 @@ public class DetachedGraphTest extends AbstractGremlinTest {
         TestHelper.validateVertexEquality(detachedVertex, createdVertex, false);
         TestHelper.validateVertexEquality(detachedVertex, starVertex, false);
 
-      /*  starGraph.getStarVertex().edges(Direction.BOTH).forEachRemaining(starEdge -> {
+        starGraph.getStarVertex().edges(Direction.BOTH).forEachRemaining(starEdge -> {
             final DetachedEdge detachedEdge = DetachedFactory.detach(starEdge, true);
             final Edge createdEdge = detachedEdge.attach(Attachable.Method.create(random.nextBoolean() ? graph : createdVertex));
             TestHelper.validateEdgeEquality(detachedEdge, starEdge);
             TestHelper.validateEdgeEquality(detachedEdge, createdEdge);
-        });  */ // not possible because star edges don't have adjacent vertex labels
+        });
 
     }
 }


[07/12] incubator-tinkerpop git commit: using IgnoreEngine annotation for failing tests

Posted by dk...@apache.org.
using IgnoreEngine annotation for failing tests


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

Branch: refs/heads/TINKERPOP3-666
Commit: ab6456a40dcead9c724972afae20a9f007998497
Parents: c63be0b
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue May 12 00:53:47 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue May 12 00:53:47 2015 +0200

----------------------------------------------------------------------
 .../process/traversal/step/branch/LocalTest.java        |  2 ++
 .../process/traversal/step/filter/SampleTest.java       | 11 +++++++----
 .../process/traversal/step/filter/WhereTest.java        |  3 +++
 .../process/traversal/step/map/CoalesceTest.java        |  6 ++++--
 .../gremlin/process/traversal/step/map/MapTest.java     |  5 ++++-
 .../gremlin/process/traversal/step/map/OrderTest.java   | 12 +++++++-----
 .../gremlin/process/traversal/step/map/PathTest.java    |  8 ++++++--
 .../gremlin/process/traversal/step/map/SelectTest.java  |  7 +++++++
 .../process/traversal/step/sideEffect/ProfileTest.java  |  2 ++
 .../process/traversal/step/sideEffect/TreeTest.java     |  8 ++++++--
 10 files changed, 48 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ab6456a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
index 79da3c6..2f5db1f 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.branch;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -77,6 +78,7 @@ public abstract class LocalTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_by() {
         final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_byXidX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ab6456a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SampleTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SampleTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SampleTest.java
index 2639354..3ed8d16 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SampleTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/SampleTest.java
@@ -21,12 +21,13 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.filter;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
+import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
-import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
-import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -56,6 +57,7 @@ public abstract class SampleTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_E_sampleX1X() {
         final Traversal<Edge, Edge> traversal = get_g_E_sampleX1X();
         assertTrue(traversal.hasNext());
@@ -65,6 +67,7 @@ public abstract class SampleTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_E_sampleX2X_byXweightX() {
         final Traversal<Edge, Edge> traversal = get_g_E_sampleX2X_byXweightX();
         assertTrue(traversal.hasNext());
@@ -135,12 +138,12 @@ public abstract class SampleTest extends AbstractGremlinProcessTest {
 
         @Override
         public Traversal<Vertex, Map<String, Collection<Double>>> get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXsampleXlocal_2XX() {
-            return g.V().<String,Collection<Double>>group().by(T.label).by(bothE().values("weight").fold()).by(sample(Scope.local, 2));
+            return g.V().<String, Collection<Double>>group().by(T.label).by(bothE().values("weight").fold()).by(sample(Scope.local, 2));
         }
 
         @Override
         public Traversal<Vertex, Map<String, Collection<Double>>> get_g_V_group_byXlabelX_byXbothE_valuesXweightX_foldX_byXsampleXlocal_5XX() {
-            return g.V().<String,Collection<Double>>group().by(T.label).by(bothE().values("weight").fold()).by(sample(Scope.local, 5));
+            return g.V().<String, Collection<Double>>group().by(T.label).by(bothE().values("weight").fold()).by(sample(Scope.local, 5));
         }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ab6456a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
index a1c14d6..b8a0f54 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.filter;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -104,6 +105,7 @@ public abstract class WhereTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_select_whereXb_hasXname_markoXX() {
         final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_select_whereXb_hasXname_markoXX();
         printTraversalForm(traversal);
@@ -128,6 +130,7 @@ public abstract class WhereTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_select_whereXa_outXknowsX_bX() {
         final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_select_whereXa_outXknowsX_bX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ab6456a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CoalesceTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CoalesceTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CoalesceTest.java
index 528c9fa..e0ac4a9 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CoalesceTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CoalesceTest.java
@@ -21,11 +21,12 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
+import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Path;
-import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
-import org.apache.tinkerpop.gremlin.process.UseEngine;
+import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -99,6 +100,7 @@ public abstract class CoalesceTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_coalesceXoutEXknowsX_outEXcreatedXX_otherV_path_byXnameX_byXlabelX() {
         final Traversal<Vertex, Path> traversal = get_g_V_coalesceXoutEXknowsX_outEXcreatedXX_otherV_path_byXnameX_byXlabelX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ab6456a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MapTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MapTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MapTest.java
index 195a714..16acebd 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MapTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MapTest.java
@@ -21,9 +21,10 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
+import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
-import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -83,6 +84,7 @@ public abstract class MapTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_asXaX_out_mapXa_nameX() {
         int marko = 0;
         int peter = 0;
@@ -106,6 +108,7 @@ public abstract class MapTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_asXaX_out_out_mapXa_name_it_nameX() {
         final Traversal<Vertex, String> traversal = get_g_withPath_V_asXaX_out_out_mapXa_name_it_nameX();
         int counter = 0;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ab6456a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/OrderTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/OrderTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/OrderTest.java
index e307519..90cebdc 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/OrderTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/OrderTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
@@ -30,11 +31,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.outE;
@@ -84,6 +81,7 @@ public abstract class OrderTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_name_order_byXa1_b1X_byXb2_a2X() {
         final Traversal<Vertex, String> traversal = get_g_V_name_order_byXa1_b1X_byXb2_a2X();
         printTraversalForm(traversal);
@@ -99,6 +97,7 @@ public abstract class OrderTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_order_byXname_incrX_name() {
         Arrays.asList(get_g_V_order_byXname_incrX_name(), get_g_V_order_byXnameX_name()).forEach(traversal -> {
             printTraversalForm(traversal);
@@ -115,6 +114,7 @@ public abstract class OrderTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_outE_order_byXweight_decrX_weight() {
         final Traversal<Vertex, Double> traversal = get_g_V_outE_order_byXweight_decrX_weight();
         printTraversalForm(traversal);
@@ -131,6 +131,7 @@ public abstract class OrderTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_order_byXname_a1_b1X_byXname_b2_a2X_name() {
         final Traversal<Vertex, String> traversal = get_g_V_order_byXname_a1_b1X_byXname_b2_a2X_name();
         printTraversalForm(traversal);
@@ -206,6 +207,7 @@ public abstract class OrderTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_order_byXoutE_count__decrX() {
         Arrays.asList(get_g_V_order_byXoutE_count__decrX()).forEach(traversal -> {
             printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ab6456a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathTest.java
index 1179039..10275ed 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathTest.java
@@ -21,10 +21,11 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
+import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
-import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -33,7 +34,7 @@ import java.util.HashSet;
 import java.util.Set;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
-import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.out;
 import static org.junit.Assert.*;
 
 /**
@@ -68,6 +69,7 @@ public abstract class PathTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_out_path_byXageX_byXnameX() {
         final Traversal<Vertex, Path> traversal = get_g_VX1X_out_path_byXageX_byXnameX(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -86,6 +88,7 @@ public abstract class PathTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_repeatXoutX_timesX2X_path_byXitX_byXnameX_byXlangX() {
         final Traversal<Vertex, Path> traversal = get_g_V_repeatXoutX_timesX2X_path_by_byXnameX_byXlangX();
         printTraversalForm(traversal);
@@ -103,6 +106,7 @@ public abstract class PathTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_out_out_path_byXnameX_byXageX() {
         final Traversal<Vertex, Path> traversal = get_g_V_out_out_path_byXnameX_byXageX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ab6456a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
index 01aafc1..5a246b1 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -117,6 +118,7 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_asXaX_outXknowsX_asXbX_select_byXnameX() {
         final Traversal<Vertex, Map<String, String>> traversal = get_g_VX1X_asXaX_outXknowsX_asXbX_select_byXnameX(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -147,6 +149,7 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_asXaX_outXknowsX_asXbX_selectXaX_byXnameX() {
         final Traversal<Vertex, String> traversal = get_g_VX1X_asXaX_outXknowsX_asXbX_selectXaX_byXnameX(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -160,6 +163,7 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_asXaX_out_asXbX_select_byXnameX() {
         Arrays.asList(
                 get_g_V_asXaX_out_asXbX_select_byXnameX(),
@@ -178,6 +182,7 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_asXaX_name_order_asXbX_select_byXnameX_byXitX() {
         Arrays.asList(
                 get_g_V_asXaX_name_order_asXbX_select_byXnameX_by_XitX()).forEach(traversal -> {
@@ -195,6 +200,7 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(CREW)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_hasXname_gremlinX_inEXusesX_order_byXskill_incrX_asXaX_outV_asXbX_select_byXskillX_byXnameX() {
         final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_hasXname_gremlinX_inEXusesX_order_byXskill_incrX_asXaX_outV_asXbX_select_byXskillX_byXnameX();
         printTraversalForm(traversal);
@@ -437,6 +443,7 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_asXaX_hasXname_markoX_asXbX_asXcX_select_by_byXnameX_byXageX() {
         final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_asXaX_hasXname_markoX_asXbX_asXcX_select_by_byXnameX_byXageX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ab6456a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/ProfileTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/ProfileTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/ProfileTest.java
index d45e4dd..720a88a 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/ProfileTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/ProfileTest.java
@@ -133,6 +133,7 @@ public abstract class ProfileTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_sleep_sleep_profile() {
         final Traversal<Vertex, StandardTraversalMetrics> traversal = get_g_V_sleep_sleep_profile();
         printTraversalForm(traversal);
@@ -168,6 +169,7 @@ public abstract class ProfileTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_repeat_both_modern_profile() {
         final Traversal<Vertex, StandardTraversalMetrics> traversal = get_g_V_repeat_both_profile();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ab6456a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/TreeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/TreeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/TreeTest.java
index a96df55..1744750 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/TreeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/TreeTest.java
@@ -19,11 +19,14 @@
 package org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect;
 
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.process.*;
-import org.apache.tinkerpop.gremlin.structure.T;
+import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
+import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
+import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
+import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -56,6 +59,7 @@ public abstract class TreeTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_out_out_tree_byXnameX() {
         final List<Traversal<Vertex, Tree>> traversals = Arrays.asList(
                 get_g_VX1X_out_out_tree_byXnameX(convertToVertexId("marko")),


[11/12] incubator-tinkerpop git commit: pass ComputerverificationException unchanged through the whole vertex program stack

Posted by dk...@apache.org.
pass ComputerverificationException unchanged through the whole vertex program stack


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

Branch: refs/heads/TINKERPOP3-666
Commit: 3c6eb61333cca073a4997a2903b8059a1ef18124
Parents: 2c983df
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue May 12 03:16:18 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue May 12 03:16:18 2015 +0200

----------------------------------------------------------------------
 .../apache/tinkerpop/gremlin/process/computer/VertexProgram.java  | 3 +++
 .../gremlin/process/traversal/util/TraversalScriptHelper.java     | 3 +++
 2 files changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/3c6eb613/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
index 4fd9e82..86a05fc 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
@@ -20,6 +20,7 @@
 package org.apache.tinkerpop.gremlin.process.computer;
 
 import org.apache.commons.configuration.Configuration;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ComputerVerificationException;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 
@@ -216,6 +217,8 @@ public interface VertexProgram<M> extends Cloneable {
             final V vertexProgram = constructor.newInstance();
             vertexProgram.loadState(graph, configuration);
             return vertexProgram;
+        } catch (final ComputerVerificationException e) {
+            throw e;
         } catch (final Exception e) {
             throw new IllegalStateException(e.getMessage(), e);
         }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/3c6eb613/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptHelper.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptHelper.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptHelper.java
index 235392e..cd3355b 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptHelper.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptHelper.java
@@ -23,6 +23,7 @@ import org.apache.tinkerpop.gremlin.process.computer.traversal.TraversalVertexPr
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ComputerVerificationException;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 
 /**
@@ -48,6 +49,8 @@ public final class TraversalScriptHelper {
             } else {
                 return new TraversalScriptFunction<S, E>(builder, scriptEngineName, traversalScript, bindings).apply(graph);
             }
+        } catch (final ComputerVerificationException e) {
+            throw e;
         } catch (final Exception e) {
             throw new IllegalArgumentException(e.getMessage());
         }


[10/12] incubator-tinkerpop git commit: Revert "added @IgnoreEngine annotation for tests that only fail in Groovy computer tests"

Posted by dk...@apache.org.
Revert "added @IgnoreEngine annotation for tests that only fail in Groovy computer tests"

This reverts commit ce85971e7014bdb4383e818bb3a967d968183697.


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

Branch: refs/heads/TINKERPOP3-666
Commit: 2c983dfba4ffd0496af9565ef971e2061f4e2176
Parents: 47dbd5d
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue May 12 02:12:34 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue May 12 02:12:34 2015 +0200

----------------------------------------------------------------------
 .../gremlin/process/traversal/step/branch/UnionTest.java  |  2 --
 .../gremlin/process/traversal/step/filter/DedupTest.java  |  4 ----
 .../gremlin/process/traversal/step/filter/ExceptTest.java |  2 --
 .../gremlin/process/traversal/step/filter/WhereTest.java  |  1 -
 .../gremlin/process/traversal/step/map/AddEdgeTest.java   |  4 ----
 .../gremlin/process/traversal/step/map/CountTest.java     |  2 --
 .../gremlin/process/traversal/step/map/FoldTest.java      |  2 --
 .../gremlin/process/traversal/step/map/MatchTest.java     | 10 ----------
 .../gremlin/process/traversal/step/map/SelectTest.java    |  1 -
 .../process/traversal/step/sideEffect/SideEffectTest.java |  3 ---
 .../process/traversal/step/sideEffect/SubgraphTest.java   |  3 ---
 11 files changed, 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/UnionTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/UnionTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/UnionTest.java
index 42ed0c4..dbe3d06 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/UnionTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/UnionTest.java
@@ -21,7 +21,6 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.branch;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
-import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -129,7 +128,6 @@ public abstract class UnionTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     // NEED TO DETERMINE IF TRAVERSAL IS LOCAL AND THEN ALLOW COUNT ON LOCALS
     public void g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX() {
         final Traversal<Vertex, Number> traversal = get_g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX(convertToVertexId("marko"), convertToVertexId("vadas"));

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
index e91dbd6..c3d8128 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
@@ -21,7 +21,6 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.filter;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
-import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
@@ -60,7 +59,6 @@ public abstract class DedupTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_both_dedup_name() {
         final Traversal<Vertex, String> traversal = get_g_V_both_dedup_name();
         printTraversalForm(traversal);
@@ -77,7 +75,6 @@ public abstract class DedupTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_both_hasXlabel_softwareX_dedup_byXlangX_name() {
         final Traversal<Vertex, String> traversal = get_g_V_both_hasXlabel_softwareX_dedup_byXlangX_name();
         printTraversalForm(traversal);
@@ -89,7 +86,6 @@ public abstract class DedupTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_both_name_orderXa_bX_dedup() {
         final Traversal<Vertex, String> traversal = get_g_V_both_name_orderXa_bX_dedup();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
index 52cf94a..e3c2503 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
@@ -21,7 +21,6 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.filter;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
-import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
@@ -133,7 +132,6 @@ public abstract class ExceptTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_repeatXbothEXcreatedX_dedup_otherVX_emit_path() {
         final Traversal<Vertex, Path> traversal = get_g_VX1X_repeatXbothEXcreatedX_dedup_otherVX_emit_path(convertToVertexId("marko"));
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
index 424bb4c..b8a0f54 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
@@ -160,7 +160,6 @@ public abstract class WhereTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXaX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX() {
         final Traversal<Vertex, Object> traversal = get_g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXbX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX(convertToVertexId(graph, "marko"));
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
index 971ec85..df3f42a 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
@@ -22,7 +22,6 @@ import org.apache.tinkerpop.gremlin.FeatureRequirement;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
-import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -53,7 +52,6 @@ public abstract class AddEdgeTest extends AbstractGremlinProcessTest {
     @Test
     @LoadGraphWith(MODERN)
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_asXaX_outXcreatedX_addOutEXcreatedBy_aX() {
         final Traversal<Vertex, Edge> traversal = get_g_VX1X_asXaX_outXcreatedX_addOutEXcreatedBy_aX(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -73,7 +71,6 @@ public abstract class AddEdgeTest extends AbstractGremlinProcessTest {
     @Test
     @LoadGraphWith(MODERN)
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_asXaX_outXcreatedX_addOutEXcreatedBy_a_weight_2X() {
         final Traversal<Vertex, Edge> traversal = get_g_VX1X_asXaX_outXcreatedX_addOutEXcreatedBy_a_weight_2X(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -95,7 +92,6 @@ public abstract class AddEdgeTest extends AbstractGremlinProcessTest {
     @Test
     @LoadGraphWith(MODERN)
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_addOutEXexistsWith__g_V__time_nowX() {
         final Traversal<Vertex, Edge> traversal = get_g_V_addOutEXexistsWith__g_V__time_nowX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CountTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CountTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CountTest.java
index e22e4b1..123e772 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CountTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CountTest.java
@@ -21,7 +21,6 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
-import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -121,7 +120,6 @@ public abstract class CountTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_fold_countXlocalX() {
         final Traversal<Vertex, Long> traversal = get_g_V_fold_countXlocalX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldTest.java
index dca106d..d67938a 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldTest.java
@@ -21,7 +21,6 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
-import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
@@ -64,7 +63,6 @@ public abstract class FoldTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_fold_unfold() {
         final Traversal<Vertex, Vertex> traversal = get_g_V_fold_unfold();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
index 4d21963..672c704 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
@@ -21,7 +21,6 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
-import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -145,7 +144,6 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_knows_b__b_created_cX() throws Exception {
         final Traversal<Vertex, Map<String, Vertex>> traversal = get_g_V_matchXa_knows_b__b_created_cX();
         printTraversalForm(traversal);
@@ -166,7 +164,6 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXd_0knows_a__d_hasXname_vadasX__a_knows_b__b_created_cX() throws Exception {
         final Traversal<Vertex, Map<String, Vertex>> traversal = get_g_V_matchXd_0knows_a__d_hasXname_vadasX__a_knows_b__b_created_cX();
         printTraversalForm(traversal);
@@ -177,7 +174,6 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_created_b__a_repeatXoutX_timesX2XX_selectXab_nameX() throws Exception {
         final Traversal<Vertex, Map<String, String>> traversal = get_g_V_matchXa_created_b__a_repeatXoutX_timesX2XX_selectXab_nameX();
         printTraversalForm(traversal);
@@ -202,7 +198,6 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_out_out_matchXa_0created_b__b_0knows_cX_selectXcX_outXcreatedX_name() throws Exception {
         final Traversal<Vertex, String> traversal = get_g_V_out_out_matchXa_0created_b__b_0knows_cX_selectXcX_outXcreatedX_name();
         printTraversalForm(traversal);
@@ -213,14 +208,12 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test(expected = IllegalArgumentException.class)
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_created_b__b_0created_aX() {
         get_g_V_matchXa_created_b__b_0created_aX();
     }
 
     @Test(expected = IllegalArgumentException.class)
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_knows_b__c_knows_bX() {
         get_g_V_matchXa_knows_b__c_knows_bX();
     }
@@ -297,7 +290,6 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(GRATEFUL)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_0sungBy_b__a_0sungBy_c__b_writtenBy_d__c_writtenBy_e__d_hasXname_George_HarisonX__e_hasXname_Bob_MarleyXX() throws Exception {
         final Traversal<Vertex, Map<String, Vertex>> traversal = get_g_V_matchXa_0sungBy_b__a_0sungBy_c__b_writtenBy_d__c_writtenBy_e__d_hasXname_George_HarisonX__e_hasXname_Bob_MarleyXX();
         printTraversalForm(traversal);
@@ -312,7 +304,6 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_created_b__b_0created_cX_whereXa_neq_cX_selectXa_c_nameX() throws Exception {
         final Traversal<Vertex, Map<String, String>> traversal = get_g_V_matchXa_created_b__b_0created_cX_whereXa_neq_cX_selectXa_c_nameX();
         assertResults(Function.identity(), traversal,
@@ -327,7 +318,6 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(GRATEFUL)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_0sungBy_b__a_0writtenBy_c__b_writtenBy_d__c_sungBy_d__d_hasXname_GarciaXX() throws Exception {
         final List<Traversal<Vertex, Map<String, Vertex>>> traversals = Arrays.asList(
                 get_g_V_matchXa_0sungBy_b__a_0writtenBy_c__b_writtenBy_d__c_sungBy_d__d_hasXname_GarciaXX(),

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
index b991688..5a246b1 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
@@ -458,7 +458,6 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_hasLabelXsoftwareX_asXnameX_asXlanguageX_asXcreatorsX_select_byXnameX_byXlangX_byXinXcreatedX_valuesXnameX_fold_orderXlocalXX() {
         final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_hasLabelXsoftwareX_asXnameX_asXlanguageX_asXcreatorsX_select_byXnameX_byXlangX_byXinXcreatedX_valuesXnameX_fold_orderXlocalXX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectTest.java
index 32cf603..c2ed140 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectTest.java
@@ -21,7 +21,6 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
-import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -51,7 +50,6 @@ public abstract class SideEffectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_sideEffectXstore_aX_name() {
         final Traversal<Vertex, String> traversal = get_g_VX1X_sideEffectXstore_aX_name(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -62,7 +60,6 @@ public abstract class SideEffectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_out_sideEffectXincr_cX_name() {
         final Traversal<Vertex, String> traversal = get_g_VX1X_out_sideEffectXincr_cX_name(convertToVertexId("marko"));
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/2c983dfb/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
index d431a84..9da02d5 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
@@ -23,7 +23,6 @@ import org.apache.tinkerpop.gremlin.FeatureRequirement;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
-import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -58,7 +57,6 @@ public abstract class SubgraphTest extends AbstractGremlinProcessTest {
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_ADD_EDGES)
     @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_withSideEffectXsgX_outEXknowsX_subgraphXsgX_name_capXsgX() throws Exception {
         final Configuration config = graphProvider.newGraphConfiguration("subgraph", this.getClass(), name.getMethodName(), MODERN);
         graphProvider.clear(config);
@@ -91,7 +89,6 @@ public abstract class SubgraphTest extends AbstractGremlinProcessTest {
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_ADD_EDGES)
     @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_withSideEffectXsgX_repeatXbothEXcreatedX_subgraphXsgX_outVX_timesX5X_name_dedup() throws Exception {
         final Configuration config = graphProvider.newGraphConfiguration("subgraph", this.getClass(), name.getMethodName(), MODERN);
         graphProvider.clear(config);


[12/12] incubator-tinkerpop git commit: stoked! much implementation for GremlinProcessRunner

Posted by dk...@apache.org.
stoked! much implementation for GremlinProcessRunner


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

Branch: refs/heads/TINKERPOP3-666
Commit: ae5022e08c90e7d5095367f6f0df446686c85e95
Parents: 3c6eb61
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue May 12 04:12:23 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue May 12 04:12:23 2015 +0200

----------------------------------------------------------------------
 .../gremlin/process/computer/VertexProgram.java |  3 -
 .../traversal/util/TraversalScriptHelper.java   |  5 +-
 .../gremlin/process/GremlinProcessRunner.java   | 71 +++++++++-----------
 3 files changed, 34 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ae5022e0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
index 86a05fc..4fd9e82 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
@@ -20,7 +20,6 @@
 package org.apache.tinkerpop.gremlin.process.computer;
 
 import org.apache.commons.configuration.Configuration;
-import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ComputerVerificationException;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 
@@ -217,8 +216,6 @@ public interface VertexProgram<M> extends Cloneable {
             final V vertexProgram = constructor.newInstance();
             vertexProgram.loadState(graph, configuration);
             return vertexProgram;
-        } catch (final ComputerVerificationException e) {
-            throw e;
         } catch (final Exception e) {
             throw new IllegalStateException(e.getMessage(), e);
         }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ae5022e0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptHelper.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptHelper.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptHelper.java
index cd3355b..ac49650 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptHelper.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalScriptHelper.java
@@ -23,7 +23,6 @@ import org.apache.tinkerpop.gremlin.process.computer.traversal.TraversalVertexPr
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ComputerVerificationException;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 
 /**
@@ -49,10 +48,8 @@ public final class TraversalScriptHelper {
             } else {
                 return new TraversalScriptFunction<S, E>(builder, scriptEngineName, traversalScript, bindings).apply(graph);
             }
-        } catch (final ComputerVerificationException e) {
-            throw e;
         } catch (final Exception e) {
-            throw new IllegalArgumentException(e.getMessage());
+            throw new IllegalArgumentException(e.getMessage(), e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ae5022e0/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/GremlinProcessRunner.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/GremlinProcessRunner.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/GremlinProcessRunner.java
index 1d10114..6c3f9ea 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/GremlinProcessRunner.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/GremlinProcessRunner.java
@@ -18,12 +18,14 @@
  */
 package org.apache.tinkerpop.gremlin.process;
 
-import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ComputerVerificationException;
+import org.junit.internal.AssumptionViolatedException;
+import org.junit.internal.runners.model.EachTestNotifier;
+import org.junit.runner.Description;
+import org.junit.runner.notification.RunNotifier;
 import org.junit.runners.BlockJUnit4ClassRunner;
 import org.junit.runners.model.FrameworkMethod;
 import org.junit.runners.model.InitializationError;
-import org.junit.runners.model.Statement;
 
 /**
  * @author Daniel Kuppitz (http://gremlin.guru)
@@ -35,45 +37,38 @@ public class GremlinProcessRunner extends BlockJUnit4ClassRunner {
     }
 
     @Override
-    protected Statement possiblyExpectingExceptions(final FrameworkMethod method, final Object test, final Statement next) {
-        org.junit.Test annotation = method.getAnnotation(org.junit.Test.class);
-        return new ExpectComputerVerificationException(next, (AbstractGremlinTest) test,
-                annotation != null ? annotation.expected() : org.junit.Test.None.class);
-    }
-
-    class ExpectComputerVerificationException extends Statement {
-
-        private Statement next;
-        private AbstractGremlinTest test;
-        private final Class<? extends Throwable> expected;
-
-        public ExpectComputerVerificationException(final Statement next, final AbstractGremlinTest test,
-                                                   final Class<? extends Throwable> expected) {
-            this.next = next;
-            this.test = test;
-            this.expected = expected;
-        }
-
-        @Override
-        public void evaluate() throws Throwable {
-            boolean complete = false;
+    public void runChild(final FrameworkMethod method, final RunNotifier notifier) {
+        final Description description = describeChild(method);
+        if (this.isIgnored(method)) {
+            notifier.fireTestIgnored(description);
+        } else {
+            EachTestNotifier eachNotifier = new EachTestNotifier(notifier, description);
+            eachNotifier.fireTestStarted();
+            boolean ignored = false;
             try {
-                next.evaluate();
-                complete = true;
-            } catch (ComputerVerificationException e) {
-                if (!test.isComputerTest()) throw e;
-                final boolean muted = Boolean.parseBoolean(System.getProperty("muteTestLogs", "false"));
-                if (!muted) System.out.println(String.format(
-                        "The following traversal is not valid for computer execution: %s",
-                        e.getTraversal()));
+                this.methodBlock(method).evaluate();
+            } catch (AssumptionViolatedException ave) {
+                eachNotifier.addFailedAssumption(ave);
             } catch (Throwable e) {
-                if (!expected.isAssignableFrom(e.getClass())) {
-                    throw e;
-                }
-            }
-            if (complete && !expected.equals(org.junit.Test.None.class)) {
-                throw new AssertionError("Expected exception: " + expected.getName());
+                if (isComputerVerificationException(e)) {
+                    eachNotifier.fireTestIgnored();
+                    ignored = true;
+                } else
+                    eachNotifier.addFailure(e);
+            } finally {
+                if (!ignored)
+                    eachNotifier.fireTestFinished();
             }
         }
     }
+
+    private static boolean isComputerVerificationException(final Throwable e) {
+        Throwable ex = e;
+        while (ex != null) {
+            if (ex instanceof ComputerVerificationException)
+                return true;
+            ex = ex.getCause();
+        }
+        return false;
+    }
 }


[08/12] incubator-tinkerpop git commit: added @IgnoreEngine annotation for tests that only fail in Groovy computer tests

Posted by dk...@apache.org.
added @IgnoreEngine annotation for tests that only fail in Groovy computer tests


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

Branch: refs/heads/TINKERPOP3-666
Commit: ce85971e7014bdb4383e818bb3a967d968183697
Parents: ab6456a
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue May 12 01:37:15 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue May 12 01:37:15 2015 +0200

----------------------------------------------------------------------
 .../gremlin/process/traversal/step/branch/UnionTest.java  |  2 ++
 .../gremlin/process/traversal/step/filter/DedupTest.java  |  4 ++++
 .../gremlin/process/traversal/step/filter/ExceptTest.java |  2 ++
 .../gremlin/process/traversal/step/filter/WhereTest.java  |  1 +
 .../gremlin/process/traversal/step/map/AddEdgeTest.java   |  4 ++++
 .../gremlin/process/traversal/step/map/CountTest.java     |  2 ++
 .../gremlin/process/traversal/step/map/FoldTest.java      |  2 ++
 .../gremlin/process/traversal/step/map/MatchTest.java     | 10 ++++++++++
 .../gremlin/process/traversal/step/map/SelectTest.java    |  1 +
 .../process/traversal/step/sideEffect/SideEffectTest.java |  3 +++
 .../process/traversal/step/sideEffect/SubgraphTest.java   |  3 +++
 11 files changed, 34 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/UnionTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/UnionTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/UnionTest.java
index dbe3d06..42ed0c4 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/UnionTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/UnionTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.branch;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -128,6 +129,7 @@ public abstract class UnionTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     // NEED TO DETERMINE IF TRAVERSAL IS LOCAL AND THEN ALLOW COUNT ON LOCALS
     public void g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX() {
         final Traversal<Vertex, Number> traversal = get_g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX(convertToVertexId("marko"), convertToVertexId("vadas"));

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
index c3d8128..e91dbd6 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.filter;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
@@ -59,6 +60,7 @@ public abstract class DedupTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_both_dedup_name() {
         final Traversal<Vertex, String> traversal = get_g_V_both_dedup_name();
         printTraversalForm(traversal);
@@ -75,6 +77,7 @@ public abstract class DedupTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_both_hasXlabel_softwareX_dedup_byXlangX_name() {
         final Traversal<Vertex, String> traversal = get_g_V_both_hasXlabel_softwareX_dedup_byXlangX_name();
         printTraversalForm(traversal);
@@ -86,6 +89,7 @@ public abstract class DedupTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_both_name_orderXa_bX_dedup() {
         final Traversal<Vertex, String> traversal = get_g_V_both_name_orderXa_bX_dedup();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
index e3c2503..52cf94a 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.filter;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
@@ -132,6 +133,7 @@ public abstract class ExceptTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_repeatXbothEXcreatedX_dedup_otherVX_emit_path() {
         final Traversal<Vertex, Path> traversal = get_g_VX1X_repeatXbothEXcreatedX_dedup_otherVX_emit_path(convertToVertexId("marko"));
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
index b8a0f54..424bb4c 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/WhereTest.java
@@ -160,6 +160,7 @@ public abstract class WhereTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXaX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX() {
         final Traversal<Vertex, Object> traversal = get_g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXbX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX(convertToVertexId(graph, "marko"));
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
index df3f42a..971ec85 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeTest.java
@@ -22,6 +22,7 @@ import org.apache.tinkerpop.gremlin.FeatureRequirement;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -52,6 +53,7 @@ public abstract class AddEdgeTest extends AbstractGremlinProcessTest {
     @Test
     @LoadGraphWith(MODERN)
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_asXaX_outXcreatedX_addOutEXcreatedBy_aX() {
         final Traversal<Vertex, Edge> traversal = get_g_VX1X_asXaX_outXcreatedX_addOutEXcreatedBy_aX(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -71,6 +73,7 @@ public abstract class AddEdgeTest extends AbstractGremlinProcessTest {
     @Test
     @LoadGraphWith(MODERN)
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_asXaX_outXcreatedX_addOutEXcreatedBy_a_weight_2X() {
         final Traversal<Vertex, Edge> traversal = get_g_VX1X_asXaX_outXcreatedX_addOutEXcreatedBy_a_weight_2X(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -92,6 +95,7 @@ public abstract class AddEdgeTest extends AbstractGremlinProcessTest {
     @Test
     @LoadGraphWith(MODERN)
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_addOutEXexistsWith__g_V__time_nowX() {
         final Traversal<Vertex, Edge> traversal = get_g_V_addOutEXexistsWith__g_V__time_nowX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CountTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CountTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CountTest.java
index 123e772..e22e4b1 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CountTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/CountTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -120,6 +121,7 @@ public abstract class CountTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_fold_countXlocalX() {
         final Traversal<Vertex, Long> traversal = get_g_V_fold_countXlocalX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldTest.java
index d67938a..dca106d 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
@@ -63,6 +64,7 @@ public abstract class FoldTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_fold_unfold() {
         final Traversal<Vertex, Vertex> traversal = get_g_V_fold_unfold();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
index 672c704..4d21963 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MatchTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -144,6 +145,7 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_knows_b__b_created_cX() throws Exception {
         final Traversal<Vertex, Map<String, Vertex>> traversal = get_g_V_matchXa_knows_b__b_created_cX();
         printTraversalForm(traversal);
@@ -164,6 +166,7 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXd_0knows_a__d_hasXname_vadasX__a_knows_b__b_created_cX() throws Exception {
         final Traversal<Vertex, Map<String, Vertex>> traversal = get_g_V_matchXd_0knows_a__d_hasXname_vadasX__a_knows_b__b_created_cX();
         printTraversalForm(traversal);
@@ -174,6 +177,7 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_created_b__a_repeatXoutX_timesX2XX_selectXab_nameX() throws Exception {
         final Traversal<Vertex, Map<String, String>> traversal = get_g_V_matchXa_created_b__a_repeatXoutX_timesX2XX_selectXab_nameX();
         printTraversalForm(traversal);
@@ -198,6 +202,7 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_out_out_matchXa_0created_b__b_0knows_cX_selectXcX_outXcreatedX_name() throws Exception {
         final Traversal<Vertex, String> traversal = get_g_V_out_out_matchXa_0created_b__b_0knows_cX_selectXcX_outXcreatedX_name();
         printTraversalForm(traversal);
@@ -208,12 +213,14 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test(expected = IllegalArgumentException.class)
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_created_b__b_0created_aX() {
         get_g_V_matchXa_created_b__b_0created_aX();
     }
 
     @Test(expected = IllegalArgumentException.class)
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_knows_b__c_knows_bX() {
         get_g_V_matchXa_knows_b__c_knows_bX();
     }
@@ -290,6 +297,7 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(GRATEFUL)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_0sungBy_b__a_0sungBy_c__b_writtenBy_d__c_writtenBy_e__d_hasXname_George_HarisonX__e_hasXname_Bob_MarleyXX() throws Exception {
         final Traversal<Vertex, Map<String, Vertex>> traversal = get_g_V_matchXa_0sungBy_b__a_0sungBy_c__b_writtenBy_d__c_writtenBy_e__d_hasXname_George_HarisonX__e_hasXname_Bob_MarleyXX();
         printTraversalForm(traversal);
@@ -304,6 +312,7 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_created_b__b_0created_cX_whereXa_neq_cX_selectXa_c_nameX() throws Exception {
         final Traversal<Vertex, Map<String, String>> traversal = get_g_V_matchXa_created_b__b_0created_cX_whereXa_neq_cX_selectXa_c_nameX();
         assertResults(Function.identity(), traversal,
@@ -318,6 +327,7 @@ public abstract class MatchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(GRATEFUL)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_matchXa_0sungBy_b__a_0writtenBy_c__b_writtenBy_d__c_sungBy_d__d_hasXname_GarciaXX() throws Exception {
         final List<Traversal<Vertex, Map<String, Vertex>>> traversals = Arrays.asList(
                 get_g_V_matchXa_0sungBy_b__a_0writtenBy_c__b_writtenBy_d__c_sungBy_d__d_hasXname_GarciaXX(),

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
index 5a246b1..b991688 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
@@ -458,6 +458,7 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_hasLabelXsoftwareX_asXnameX_asXlanguageX_asXcreatorsX_select_byXnameX_byXlangX_byXinXcreatedX_valuesXnameX_fold_orderXlocalXX() {
         final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_hasLabelXsoftwareX_asXnameX_asXlanguageX_asXcreatorsX_select_byXnameX_byXlangX_byXinXcreatedX_valuesXnameX_fold_orderXlocalXX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectTest.java
index c2ed140..32cf603 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SideEffectTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -50,6 +51,7 @@ public abstract class SideEffectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_sideEffectXstore_aX_name() {
         final Traversal<Vertex, String> traversal = get_g_VX1X_sideEffectXstore_aX_name(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -60,6 +62,7 @@ public abstract class SideEffectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_out_sideEffectXincr_cX_name() {
         final Traversal<Vertex, String> traversal = get_g_VX1X_out_sideEffectXincr_cX_name(convertToVertexId("marko"));
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ce85971e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
index 9da02d5..d431a84 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
@@ -23,6 +23,7 @@ import org.apache.tinkerpop.gremlin.FeatureRequirement;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
@@ -57,6 +58,7 @@ public abstract class SubgraphTest extends AbstractGremlinProcessTest {
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_ADD_EDGES)
     @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_withSideEffectXsgX_outEXknowsX_subgraphXsgX_name_capXsgX() throws Exception {
         final Configuration config = graphProvider.newGraphConfiguration("subgraph", this.getClass(), name.getMethodName(), MODERN);
         graphProvider.clear(config);
@@ -89,6 +91,7 @@ public abstract class SubgraphTest extends AbstractGremlinProcessTest {
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_ADD_EDGES)
     @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_withSideEffectXsgX_repeatXbothEXcreatedX_subgraphXsgX_outVX_timesX5X_name_dedup() throws Exception {
         final Configuration config = graphProvider.newGraphConfiguration("subgraph", this.getClass(), name.getMethodName(), MODERN);
         graphProvider.clear(config);


[04/12] incubator-tinkerpop git commit: nothign.

Posted by dk...@apache.org.
nothign.


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

Branch: refs/heads/TINKERPOP3-666
Commit: 6a846abaa691e06f8415e3bbcfb6f2026dbf5a06
Parents: d7836ce
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Mon May 11 15:00:01 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon May 11 15:00:01 2015 -0600

----------------------------------------------------------------------

----------------------------------------------------------------------



[06/12] incubator-tinkerpop git commit: restored IgnoreEngine class

Posted by dk...@apache.org.
restored IgnoreEngine class


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

Branch: refs/heads/TINKERPOP3-666
Commit: c63be0b45322f0933c45c421e3fbd260250a9dc3
Parents: b8ac0b0
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue May 12 00:43:30 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue May 12 00:43:30 2015 +0200

----------------------------------------------------------------------
 .../process/AbstractGremlinProcessTest.java     |  9 +++++
 .../tinkerpop/gremlin/process/IgnoreEngine.java | 37 ++++++++++++++++++++
 .../traversal/step/filter/ExceptTest.java       |  1 -
 3 files changed, 46 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/c63be0b4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/AbstractGremlinProcessTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/AbstractGremlinProcessTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/AbstractGremlinProcessTest.java
index 2018114..494dbf8 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/AbstractGremlinProcessTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/AbstractGremlinProcessTest.java
@@ -61,6 +61,15 @@ public abstract class AbstractGremlinProcessTest extends AbstractGremlinTest {
     @Before
     public void setupTest() {
         assumeTrue(graphMeetsTestRequirements());
+
+        try {
+            // ignore tests that aren't supported by a specific TraversalEngine
+            final IgnoreEngine ignoreEngine = this.getClass().getMethod(name.getMethodName()).getAnnotation(IgnoreEngine.class);
+            if (ignoreEngine != null)
+                assumeTrue(String.format("This test is ignored for %s", ignoreEngine.value()), !ignoreEngine.value().equals(GraphManager.getTraversalEngineType()));
+        } catch (NoSuchMethodException nsme) {
+            throw new RuntimeException(String.format("Could not find test method %s in test case %s", name.getMethodName(), this.getClass().getName()));
+        }
     }
 
     public <T> void checkResults(final List<T> expectedResults, final Traversal<?, T> traversal) {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/c63be0b4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/IgnoreEngine.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/IgnoreEngine.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/IgnoreEngine.java
new file mode 100644
index 0000000..245b9e5
--- /dev/null
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/IgnoreEngine.java
@@ -0,0 +1,37 @@
+/*
+ * 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;
+
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+@Inherited
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface IgnoreEngine {
+    public TraversalEngine.Type value();
+}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/c63be0b4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
index d29c869..e3c2503 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
@@ -119,7 +119,6 @@ public abstract class ExceptTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_repeatXbothEXcreatedX_exceptXeX_aggregateXeX_otherVX_emit_path() {
         final Traversal<Vertex, Path> traversal = get_g_VX1X_repeatXbothEXcreatedX_exceptXeX_aggregateXeX_otherVX_emit_path(convertToVertexId("marko"));
         printTraversalForm(traversal);


[05/12] incubator-tinkerpop git commit: Merge branch 'master' into TINKERPOP3-666

Posted by dk...@apache.org.
Merge branch 'master' into TINKERPOP3-666

Resolved Conflicts:
	gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
	gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java


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

Branch: refs/heads/TINKERPOP3-666
Commit: b8ac0b0863fcc04c83785602a5bc1fe2e9fe09c8
Parents: b9ea999 6a846ab
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue May 12 00:37:49 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue May 12 00:37:49 2015 +0200

----------------------------------------------------------------------
 .../gremlin/process/computer/GraphComputer.java |  12 +-
 .../computer/traversal/TraverserExecutor.java   |  13 +-
 .../process/computer/util/ComputerGraph.java    | 231 ++++++++++++++-----
 .../traverser/B_O_P_S_SE_SL_Traverser.java      |   3 +-
 .../gremlin/structure/util/Attachable.java      |  14 +-
 .../util/detached/DetachedElement.java          |   8 +-
 .../structure/util/reference/ReferenceEdge.java |  33 ++-
 .../util/reference/ReferenceVertexProperty.java |   6 +-
 .../gremlin/structure/util/star/StarGraph.java  |  19 +-
 .../gremlin/groovy/util/MetaRegistryUtil.groovy |   4 +-
 .../process/computer/GraphComputerTest.java     | 145 +++++++++++-
 .../computer/util/ComputerGraphTest.java        |  20 +-
 .../traversal/step/branch/LocalTest.java        |   2 +-
 .../traversal/step/filter/ExceptTest.java       |   1 +
 .../decoration/SubgraphStrategyProcessTest.java |   3 +
 .../util/reference/ReferenceEdgeTest.java       |   2 +-
 .../structure/ExceptionCoverageTest.java        |   3 -
 .../hadoop/process/computer/HadoopMap.java      |   4 +-
 .../computer/giraph/GiraphComputeVertex.java    |   3 +-
 .../process/computer/spark/SparkExecutor.java   |   4 +-
 .../process/computer/TinkerGraphComputer.java   |  17 +-
 21 files changed, 424 insertions(+), 123 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8ac0b08/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
index 1c10806,35ef08c..79da3c6
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
@@@ -20,16 -20,15 +20,16 @@@ package org.apache.tinkerpop.gremlin.pr
  
  import org.apache.tinkerpop.gremlin.LoadGraphWith;
  import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 -import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 +import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
  import org.apache.tinkerpop.gremlin.process.UseEngine;
--import org.apache.tinkerpop.gremlin.structure.T;
  import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
  import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
  import org.apache.tinkerpop.gremlin.structure.Edge;
  import org.apache.tinkerpop.gremlin.structure.Order;
++import org.apache.tinkerpop.gremlin.structure.T;
  import org.apache.tinkerpop.gremlin.structure.Vertex;
  import org.junit.Test;
 +import org.junit.runner.RunWith;
  
  import java.util.Arrays;
  import java.util.Map;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/b8ac0b08/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
----------------------------------------------------------------------


[09/12] incubator-tinkerpop git commit: take expected exceptions into account

Posted by dk...@apache.org.
take expected exceptions into account


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

Branch: refs/heads/TINKERPOP3-666
Commit: 47dbd5d0e084c44eac0028c94d81140b62902103
Parents: ce85971
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue May 12 02:12:14 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue May 12 02:12:14 2015 +0200

----------------------------------------------------------------------
 .../gremlin/process/GremlinProcessRunner.java     | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/47dbd5d0/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/GremlinProcessRunner.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/GremlinProcessRunner.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/GremlinProcessRunner.java
index eaf2acc..1d10114 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/GremlinProcessRunner.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/GremlinProcessRunner.java
@@ -36,29 +36,43 @@ public class GremlinProcessRunner extends BlockJUnit4ClassRunner {
 
     @Override
     protected Statement possiblyExpectingExceptions(final FrameworkMethod method, final Object test, final Statement next) {
-        return new ExpectComputerVerificationException(next, (AbstractGremlinTest) test);
+        org.junit.Test annotation = method.getAnnotation(org.junit.Test.class);
+        return new ExpectComputerVerificationException(next, (AbstractGremlinTest) test,
+                annotation != null ? annotation.expected() : org.junit.Test.None.class);
     }
 
     class ExpectComputerVerificationException extends Statement {
 
         private Statement next;
         private AbstractGremlinTest test;
+        private final Class<? extends Throwable> expected;
 
-        public ExpectComputerVerificationException(final Statement next, final AbstractGremlinTest test) {
+        public ExpectComputerVerificationException(final Statement next, final AbstractGremlinTest test,
+                                                   final Class<? extends Throwable> expected) {
             this.next = next;
             this.test = test;
+            this.expected = expected;
         }
 
         @Override
         public void evaluate() throws Throwable {
+            boolean complete = false;
             try {
                 next.evaluate();
+                complete = true;
             } catch (ComputerVerificationException e) {
                 if (!test.isComputerTest()) throw e;
                 final boolean muted = Boolean.parseBoolean(System.getProperty("muteTestLogs", "false"));
                 if (!muted) System.out.println(String.format(
                         "The following traversal is not valid for computer execution: %s",
                         e.getTraversal()));
+            } catch (Throwable e) {
+                if (!expected.isAssignableFrom(e.getClass())) {
+                    throw e;
+                }
+            }
+            if (complete && !expected.equals(org.junit.Test.None.class)) {
+                throw new AssertionError("Expected exception: " + expected.getName());
             }
         }
     }


[02/12] incubator-tinkerpop git commit: GraphComputerTest now ensures that adjacent vertices can only have their IDs accessed. Rabbit hole around ComputerGraph.

Posted by dk...@apache.org.
GraphComputerTest now ensures that adjacent vertices can only have their IDs accessed. Rabbit hole around ComputerGraph.


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

Branch: refs/heads/TINKERPOP3-666
Commit: 4bbbb6365f36c20ad63ca4665657fd1169a7d246
Parents: 0ca191a
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Mon May 11 13:49:32 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon May 11 13:49:46 2015 -0600

----------------------------------------------------------------------
 .../gremlin/process/computer/GraphComputer.java |  12 +-
 .../computer/traversal/TraverserExecutor.java   |  13 +-
 .../process/computer/util/ComputerGraph.java    | 231 ++++++++++++++-----
 .../traverser/B_O_P_S_SE_SL_Traverser.java      |   3 +-
 .../gremlin/structure/util/Attachable.java      |  14 +-
 .../util/detached/DetachedElement.java          |   8 +-
 .../structure/util/reference/ReferenceEdge.java |  33 ++-
 .../util/reference/ReferenceVertexProperty.java |   6 +-
 .../gremlin/structure/util/star/StarGraph.java  |  19 +-
 .../process/computer/GraphComputerTest.java     | 145 +++++++++++-
 .../computer/util/ComputerGraphTest.java        |  20 +-
 .../traversal/step/branch/LocalTest.java        |   2 +
 .../traversal/step/filter/ExceptTest.java       |   1 +
 .../process/traversal/step/map/SelectTest.java  |   3 +-
 .../decoration/SubgraphStrategyProcessTest.java |   3 +
 .../util/detached/DetachedGraphTest.java        |   5 +-
 .../util/reference/ReferenceEdgeTest.java       |   2 +-
 .../structure/ExceptionCoverageTest.java        |   3 -
 .../hadoop/process/computer/HadoopMap.java      |   4 +-
 .../computer/giraph/GiraphComputeVertex.java    |   3 +-
 .../process/computer/spark/SparkExecutor.java   |   4 +-
 .../process/computer/TinkerGraphComputer.java   |  17 +-
 22 files changed, 428 insertions(+), 123 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputer.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputer.java
index 95f72dc..13b6a5e 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputer.java
@@ -192,12 +192,16 @@ public interface GraphComputer {
         private Exceptions() {
         }
 
-        public static IllegalStateException adjacentElementPropertiesCanNotBeRead() {
-            return new IllegalStateException("The properties of an adjacent element can not be read, only its id");
+        public static IllegalStateException adjacentVertexLabelsCanNotBeRead() {
+            return new IllegalStateException("The label of an adjacent vertex can not be read");
         }
 
-        public static IllegalStateException adjacentElementPropertiesCanNotBeWritten() {
-            return new IllegalStateException("The properties of an adjacent element can not be written");
+        public static IllegalStateException adjacentVertexPropertiesCanNotBeReadOrUpdated() {
+            return new IllegalStateException("The properties of an adjacent vertex can not be read or updated");
+        }
+
+        public static IllegalStateException adjacentVertexEdgesAndVerticesCanNotBeReadOrUpdated() {
+            return new IllegalStateException("The edges and vertices of an adjacent vertex can not be read or updated");
         }
 
         public static IllegalArgumentException providedKeyIsNotAnElementComputeKey(final String key) {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraverserExecutor.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraverserExecutor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraverserExecutor.java
index aa8511c..51a547a 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraverserExecutor.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraverserExecutor.java
@@ -30,8 +30,8 @@ import org.apache.tinkerpop.gremlin.structure.Element;
 import org.apache.tinkerpop.gremlin.structure.Property;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.Attachable;
-import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedElement;
-import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedProperty;
+import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceElement;
+import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceProperty;
 
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -64,14 +64,15 @@ public final class TraverserExecutor {
                 if (traverser.get() instanceof Element || traverser.get() instanceof Property) {      // GRAPH OBJECT
                     // if the element is remote, then message, else store it locally for re-processing
                     final Vertex hostingVertex = TraverserExecutor.getHostingVertex(traverser.get());
-                    if (!vertex.equals(hostingVertex)
-                            || traverser.get() instanceof DetachedElement
-                            || traverser.get() instanceof DetachedProperty) { // necessary for path access (but why are these not ReferenceXXX?)
+                    if (!vertex.equals(hostingVertex)) { // necessary for path access
                         voteToHalt.set(false);
                         traverser.detach();
                         messenger.sendMessage(MessageScope.Global.of(hostingVertex), new TraverserSet<>(traverser));
-                    } else
+                    } else {
+                        if (traverser.get() instanceof ReferenceElement || traverser.get() instanceof ReferenceProperty)   // necessary for path access to local object
+                            traverser.attach(Attachable.Method.get(vertex));
                         toProcessTraversers.add(traverser);
+                    }
                 } else                                                                              // STANDARD OBJECT
                     toProcessTraversers.add(traverser);
             });

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/ComputerGraph.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/ComputerGraph.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/ComputerGraph.java
index 9671cc2..e57a021 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/ComputerGraph.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/ComputerGraph.java
@@ -20,6 +20,7 @@ package org.apache.tinkerpop.gremlin.process.computer.util;
 
 import org.apache.commons.configuration.Configuration;
 import org.apache.tinkerpop.gremlin.process.computer.GraphComputer;
+import org.apache.tinkerpop.gremlin.process.computer.VertexProgram;
 import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Element;
@@ -29,10 +30,17 @@ import org.apache.tinkerpop.gremlin.structure.Transaction;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
+import org.apache.tinkerpop.gremlin.structure.util.wrapped.WrappedEdge;
+import org.apache.tinkerpop.gremlin.structure.util.wrapped.WrappedElement;
+import org.apache.tinkerpop.gremlin.structure.util.wrapped.WrappedProperty;
+import org.apache.tinkerpop.gremlin.structure.util.wrapped.WrappedVertex;
+import org.apache.tinkerpop.gremlin.structure.util.wrapped.WrappedVertexProperty;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.NoSuchElementException;
+import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -41,23 +49,28 @@ import java.util.stream.Collectors;
  */
 public final class ComputerGraph implements Graph {
 
-    public enum State {VERTEX_PROGRAM, MAP_REDUCE, NO_OP}
+    private enum State {VERTEX_PROGRAM, MAP_REDUCE, NO_OP}
 
-    private final Graph graph;
+    private ComputerVertex starVertex;
     private final Set<String> computeKeys;
-    private State state = State.VERTEX_PROGRAM;
+    private State state;
 
-    public ComputerGraph(final Graph graph, final Set<String> elementComputeKeys) {
-        this.graph = graph;
-        this.computeKeys = elementComputeKeys;
+    public ComputerGraph(final State state, final Vertex starVertex, final Optional<VertexProgram> vertexProgram) {
+        this.state = state;
+        this.computeKeys = vertexProgram.isPresent() ? vertexProgram.get().getElementComputeKeys() : Collections.emptySet();
+        this.starVertex = new ComputerVertex(starVertex);
+    }
+
+    public static ComputerVertex vertexProgram(final Vertex starVertex, VertexProgram vertexProgram) {
+        return new ComputerGraph(State.VERTEX_PROGRAM, starVertex, Optional.of(vertexProgram)).getStarVertex();
     }
 
-    public static Vertex of(final Vertex vertex, final Set<String> elementComputeKeys) {
-        return new ComputerGraph(vertex.graph(), elementComputeKeys).wrapVertex(vertex);
+    public static ComputerVertex mapReduce(final Vertex starVertex, Optional<VertexProgram> vertexProgram) {
+        return new ComputerGraph(State.MAP_REDUCE, starVertex, vertexProgram).getStarVertex();
     }
 
-    private final Vertex wrapVertex(final Vertex vertex) {
-        return new ComputerVertex(vertex);
+    public ComputerVertex getStarVertex() {
+        return this.starVertex;
     }
 
     public void setState(final State state) {
@@ -66,50 +79,50 @@ public final class ComputerGraph implements Graph {
 
     @Override
     public Vertex addVertex(final Object... keyValues) {
-        return new ComputerVertex(this.graph.addVertex(keyValues));
+        throw new UnsupportedOperationException();
     }
 
     @Override
     public <C extends GraphComputer> C compute(final Class<C> graphComputerClass) throws IllegalArgumentException {
-        return this.graph.compute(graphComputerClass);
+        throw new UnsupportedOperationException();
     }
 
     @Override
     public GraphComputer compute() throws IllegalArgumentException {
-        return this.graph.compute();
+        throw new UnsupportedOperationException();
     }
 
     @Override
     public Iterator<Vertex> vertices(final Object... vertexIds) {
-        return IteratorUtils.map(this.graph.vertices(vertexIds), vertex -> new ComputerVertex(vertex));
+        throw new UnsupportedOperationException();
     }
 
     @Override
     public Iterator<Edge> edges(final Object... edgeIds) {
-        return IteratorUtils.map(this.graph.edges(edgeIds), edge -> new ComputerEdge(edge));
+        throw new UnsupportedOperationException();
     }
 
     @Override
     public Transaction tx() {
-        return this.graph.tx();
+        return this.starVertex.graph().tx();
     }
 
     @Override
     public Variables variables() {
-        return this.graph.variables();
+        throw new UnsupportedOperationException();
     }
 
     @Override
     public Configuration configuration() {
-        return this.graph.configuration();
+        throw new UnsupportedOperationException();
     }
 
     @Override
     public void close() throws Exception {
-        this.graph.close();
+        throw new UnsupportedOperationException();
     }
 
-    private class ComputerElement implements Element {
+    private class ComputerElement implements Element, WrappedElement<Element> {
         private final Element element;
 
         public ComputerElement(final Element element) {
@@ -178,25 +191,18 @@ public final class ComputerGraph implements Graph {
 
         @Override
         public boolean equals(final Object other) {
-            return ElementHelper.areEqual(this, other);
-        }
-
-        protected final Vertex asVertex() {
-            return (Vertex) this.element;
+            return this.element.equals(other);
         }
 
-        protected final Edge asEdge() {
-            return (Edge) this.element;
-        }
-
-        protected final <V> VertexProperty<V> asVertexProperty() {
-            return (VertexProperty<V>) this.element;
+        @Override
+        public Element getBaseElement() {
+            return this.element;
         }
     }
 
     ///////////////////////////////////
 
-    private class ComputerVertex extends ComputerElement implements Vertex {
+    private class ComputerVertex extends ComputerElement implements Vertex, WrappedVertex<Vertex> {
 
 
         public ComputerVertex(final Vertex vertex) {
@@ -205,60 +211,65 @@ public final class ComputerGraph implements Graph {
 
         @Override
         public <V> VertexProperty<V> property(final String key) {
-            return new ComputerVertexProperty<>(this.asVertex().property(key));
+            return new ComputerVertexProperty<>(this.getBaseVertex().property(key));
         }
 
         @Override
         public <V> VertexProperty<V> property(final String key, final V value) {
-            if(!computeKeys.contains(key))
+            if (!computeKeys.contains(key))
                 throw GraphComputer.Exceptions.providedKeyIsNotAnElementComputeKey(key);
-            return new ComputerVertexProperty<>(this.asVertex().property(key, value));
+            return new ComputerVertexProperty<>(this.getBaseVertex().property(key, value));
         }
 
         @Override
         public <V> VertexProperty<V> property(final String key, final V value, final Object... keyValues) {
-            if(!computeKeys.contains(key))
+            if (!computeKeys.contains(key))
                 throw GraphComputer.Exceptions.providedKeyIsNotAnElementComputeKey(key);
-            return new ComputerVertexProperty<>(this.asVertex().property(key, value, keyValues));
+            return new ComputerVertexProperty<>(this.getBaseVertex().property(key, value, keyValues));
         }
 
         @Override
         public <V> VertexProperty<V> property(final VertexProperty.Cardinality cardinality, final String key, final V value, final Object... keyValues) {
-            if(!computeKeys.contains(key))
+            if (!computeKeys.contains(key))
                 throw GraphComputer.Exceptions.providedKeyIsNotAnElementComputeKey(key);
-            return new ComputerVertexProperty<>(this.asVertex().property(cardinality, key, value, keyValues));
+            return new ComputerVertexProperty<>(this.getBaseVertex().property(cardinality, key, value, keyValues));
         }
 
         @Override
         public Edge addEdge(final String label, final Vertex inVertex, final Object... keyValues) {
             if (state.equals(State.MAP_REDUCE))
                 throw GraphComputer.Exceptions.incidentAndAdjacentElementsCanNotBeAccessedInMapReduce();
-            return new ComputerEdge(this.asVertex().addEdge(label, inVertex, keyValues));
+            return new ComputerEdge(this.getBaseVertex().addEdge(label, inVertex, keyValues));
         }
 
         @Override
         public Iterator<Edge> edges(final Direction direction, final String... edgeLabels) {
             if (state.equals(State.MAP_REDUCE))
                 throw GraphComputer.Exceptions.incidentAndAdjacentElementsCanNotBeAccessedInMapReduce();
-            return IteratorUtils.map(this.asVertex().edges(direction, edgeLabels), edge -> new ComputerEdge(edge));
+            return IteratorUtils.map(this.getBaseVertex().edges(direction, edgeLabels), ComputerEdge::new);
         }
 
         @Override
         public Iterator<Vertex> vertices(final Direction direction, final String... edgeLabels) {
             if (state.equals(State.MAP_REDUCE))
                 throw GraphComputer.Exceptions.incidentAndAdjacentElementsCanNotBeAccessedInMapReduce();
-            return IteratorUtils.map(this.asVertex().vertices(direction, edgeLabels), vertex -> new ComputerVertex(vertex));
+            return IteratorUtils.map(this.getBaseVertex().vertices(direction, edgeLabels), v -> v.equals(starVertex) ? starVertex : new ComputerAdjacentVertex(v));
         }
 
         @Override
         public <V> Iterator<VertexProperty<V>> properties(final String... propertyKeys) {
             return IteratorUtils.map(super.properties(propertyKeys), property -> new ComputerVertexProperty<V>((VertexProperty<V>) property));
         }
+
+        @Override
+        public Vertex getBaseVertex() {
+            return (Vertex) this.getBaseElement();
+        }
     }
 
     ////////////////////////////
 
-    private class ComputerEdge extends ComputerElement implements Edge {
+    private class ComputerEdge extends ComputerElement implements Edge, WrappedEdge<Edge> {
 
         public ComputerEdge(final Edge edge) {
             super(edge);
@@ -267,61 +278,76 @@ public final class ComputerGraph implements Graph {
 
         @Override
         public Iterator<Vertex> vertices(final Direction direction) {
-            return IteratorUtils.map(this.asEdge().vertices(direction), vertex -> new ComputerVertex(vertex));
+            if (direction.equals(Direction.OUT))
+                return IteratorUtils.of(this.outVertex());
+            if (direction.equals(Direction.IN))
+                return IteratorUtils.of(this.inVertex());
+            else
+                return IteratorUtils.of(this.outVertex(), this.inVertex());
         }
 
         @Override
         public Vertex outVertex() {
-            return new ComputerVertex(this.asEdge().outVertex());
+            return this.getBaseEdge().outVertex().equals(starVertex) ? starVertex : new ComputerAdjacentVertex(this.getBaseEdge().outVertex());
         }
 
         @Override
         public Vertex inVertex() {
-            return new ComputerVertex(this.asEdge().inVertex());
+            return this.getBaseEdge().inVertex().equals(starVertex) ? starVertex : new ComputerAdjacentVertex(this.getBaseEdge().inVertex());
         }
 
         @Override
         public <V> Iterator<Property<V>> properties(final String... propertyKeys) {
             return IteratorUtils.map(super.properties(propertyKeys), property -> new ComputerProperty(property));
         }
+
+        @Override
+        public Edge getBaseEdge() {
+            return (Edge) this.getBaseElement();
+        }
     }
 
     ///////////////////////////
 
-    private class ComputerVertexProperty<V> extends ComputerElement implements VertexProperty<V> {
+    private class ComputerVertexProperty<V> extends ComputerElement implements VertexProperty<V>, WrappedVertexProperty<VertexProperty<V>> {
         public ComputerVertexProperty(final VertexProperty<V> vertexProperty) {
             super(vertexProperty);
         }
 
         @Override
         public String key() {
-            return this.asVertexProperty().key();
+            return this.getBaseVertexProperty().key();
         }
 
         @Override
         public V value() throws NoSuchElementException {
-            return this.<V>asVertexProperty().value();
+            return this.<V>getBaseVertexProperty().value();
         }
 
         @Override
         public boolean isPresent() {
-            return this.asVertexProperty().isPresent();
+            return this.getBaseVertexProperty().isPresent();
         }
 
         @Override
         public Vertex element() {
-            return new ComputerVertex(this.asVertexProperty().element());
+            return new ComputerVertex(this.getBaseVertexProperty().element());
         }
 
         @Override
         public <U> Iterator<Property<U>> properties(final String... propertyKeys) {
             return IteratorUtils.map(super.properties(propertyKeys), property -> new ComputerProperty(property));
         }
+
+        @Override
+        public VertexProperty<V> getBaseVertexProperty() {
+            return (VertexProperty<V>) this.getBaseElement();
+        }
     }
 
     ///////////////////////////
 
-    private class ComputerProperty<V> implements Property<V> {
+    private class ComputerProperty<V> implements Property<V>, WrappedProperty<Property<V>> {
 
         private final Property<V> property;
 
@@ -359,5 +385,106 @@ public final class ComputerGraph implements Graph {
         public void remove() {
             this.property.remove();
         }
+
+        @Override
+        public Property<V> getBaseProperty() {
+            return this.property;
+        }
+
+        @Override
+        public String toString() {
+            return this.property.toString();
+        }
+
+        @Override
+        public int hashCode() {
+            return this.property.hashCode();
+        }
+
+        @Override
+        public boolean equals(final Object other) {
+            return ElementHelper.areEqual(this, other);
+        }
+    }
+
+    ///////////////////////////
+
+    private class ComputerAdjacentVertex implements Vertex, WrappedVertex<Vertex> {
+
+        private final Vertex adjacentVertex;
+
+        public ComputerAdjacentVertex(final Vertex adjacentVertex) {
+            this.adjacentVertex = adjacentVertex;
+        }
+
+        @Override
+        public Edge addEdge(final String label, final Vertex inVertex, final Object... keyValues) {
+            throw GraphComputer.Exceptions.adjacentVertexEdgesAndVerticesCanNotBeReadOrUpdated();
+        }
+
+        @Override
+        public <V> VertexProperty<V> property(final String key, final V value, final Object... keyValues) {
+            throw GraphComputer.Exceptions.adjacentVertexPropertiesCanNotBeReadOrUpdated();
+        }
+
+        @Override
+        public <V> VertexProperty<V> property(final VertexProperty.Cardinality cardinality, final String key, final V value, final Object... keyValues) {
+            throw GraphComputer.Exceptions.adjacentVertexPropertiesCanNotBeReadOrUpdated();
+        }
+
+        @Override
+        public Iterator<Edge> edges(Direction direction, String... edgeLabels) {
+            throw GraphComputer.Exceptions.adjacentVertexEdgesAndVerticesCanNotBeReadOrUpdated();
+        }
+
+        @Override
+        public Iterator<Vertex> vertices(Direction direction, String... edgeLabels) {
+            throw GraphComputer.Exceptions.adjacentVertexEdgesAndVerticesCanNotBeReadOrUpdated();
+        }
+
+        @Override
+        public Object id() {
+            return this.adjacentVertex.id();
+        }
+
+        @Override
+        public String label() {
+            throw GraphComputer.Exceptions.adjacentVertexLabelsCanNotBeRead();
+        }
+
+        @Override
+        public Graph graph() {
+            return null;
+        }
+
+        @Override
+        public void remove() {
+
+        }
+
+        @Override
+        public <V> Iterator<VertexProperty<V>> properties(final String... propertyKeys) {
+            throw GraphComputer.Exceptions.adjacentVertexPropertiesCanNotBeReadOrUpdated();
+        }
+
+        @Override
+        public int hashCode() {
+            return this.adjacentVertex.hashCode();
+        }
+
+        @Override
+        public String toString() {
+            return this.adjacentVertex.toString();
+        }
+
+        @Override
+        public boolean equals(final Object other) {
+            return this.adjacentVertex.equals(other);
+        }
+
+        @Override
+        public Vertex getBaseVertex() {
+            return this.adjacentVertex;
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_O_P_S_SE_SL_Traverser.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_O_P_S_SE_SL_Traverser.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_O_P_S_SE_SL_Traverser.java
index b6920e5..fb33ee4 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_O_P_S_SE_SL_Traverser.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_O_P_S_SE_SL_Traverser.java
@@ -24,6 +24,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.ImmutablePath;
 import org.apache.tinkerpop.gremlin.structure.util.Attachable;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
+import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceFactory;
 
 import java.util.function.Function;
 
@@ -54,7 +55,7 @@ public class B_O_P_S_SE_SL_Traverser<T> extends B_O_S_SE_SL_Traverser<T> {
     @Override
     public Traverser.Admin<T> detach() {
         super.detach();
-        this.path = DetachedFactory.detach(this.path, true);
+        this.path = ReferenceFactory.detach(this.path);
         return this;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/Attachable.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/Attachable.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/Attachable.java
index cb6c22a..0049877 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/Attachable.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/Attachable.java
@@ -98,29 +98,29 @@ public interface Attachable<V> {
                             Method.getVertex((Attachable<Vertex>) attachable, (Graph) hostVertexOrGraph) :
                             Method.getVertex((Attachable<Vertex>) attachable, (Vertex) hostVertexOrGraph))
                             .orElse(hostVertexOrGraph instanceof Graph ?
-                                    Method.createVertex((Attachable<Vertex>)attachable, (Graph) hostVertexOrGraph) :
+                                    Method.createVertex((Attachable<Vertex>) attachable, (Graph) hostVertexOrGraph) :
                                     Method.createVertex((Attachable<Vertex>) attachable, (Vertex) hostVertexOrGraph));
                 } else if (base instanceof Edge) {
                     return (V) (hostVertexOrGraph instanceof Graph ?
                             Method.getEdge((Attachable<Edge>) attachable, (Graph) hostVertexOrGraph) :
                             Method.getEdge((Attachable<Edge>) attachable, (Vertex) hostVertexOrGraph))
                             .orElse(hostVertexOrGraph instanceof Graph ?
-                                    Method.createEdge((Attachable<Edge>)attachable, (Graph) hostVertexOrGraph) :
-                                    Method.createEdge((Attachable<Edge>)attachable, (Vertex) hostVertexOrGraph));
+                                    Method.createEdge((Attachable<Edge>) attachable, (Graph) hostVertexOrGraph) :
+                                    Method.createEdge((Attachable<Edge>) attachable, (Vertex) hostVertexOrGraph));
                 } else if (base instanceof VertexProperty) {
                     return (V) (hostVertexOrGraph instanceof Graph ?
                             Method.getVertexProperty((Attachable<VertexProperty>) attachable, (Graph) hostVertexOrGraph) :
                             Method.getVertexProperty((Attachable<VertexProperty>) attachable, (Vertex) hostVertexOrGraph))
                             .orElse(hostVertexOrGraph instanceof Graph ?
-                                    Method.createVertexProperty((Attachable<VertexProperty>)attachable, (Graph) hostVertexOrGraph) :
+                                    Method.createVertexProperty((Attachable<VertexProperty>) attachable, (Graph) hostVertexOrGraph) :
                                     Method.createVertexProperty((Attachable<VertexProperty>) attachable, (Vertex) hostVertexOrGraph));
                 } else if (base instanceof Property) {
                     return (V) (hostVertexOrGraph instanceof Graph ?
                             Method.getProperty((Attachable<Property>) attachable, (Graph) hostVertexOrGraph) :
                             Method.getProperty((Attachable<Property>) attachable, (Vertex) hostVertexOrGraph))
                             .orElse(hostVertexOrGraph instanceof Graph ?
-                                    Method.createProperty((Attachable<Property>)attachable, (Graph) hostVertexOrGraph) :
-                                    Method.createProperty((Attachable<Property>)attachable, (Vertex) hostVertexOrGraph));
+                                    Method.createProperty((Attachable<Property>) attachable, (Graph) hostVertexOrGraph) :
+                                    Method.createProperty((Attachable<Property>) attachable, (Vertex) hostVertexOrGraph));
                 } else
                     throw Attachable.Exceptions.providedAttachableMustContainAGraphObject(attachable);
             };
@@ -170,7 +170,7 @@ public interface Attachable<V> {
 
         public static Optional<Edge> getEdge(final Attachable<Edge> attachableEdge, final Vertex hostVertex) {
             final Edge baseEdge = attachableEdge.get();
-            final Iterator<Edge> edgeIterator = hostVertex.edges(Direction.OUT);
+            final Iterator<Edge> edgeIterator = hostVertex.edges(Direction.OUT, attachableEdge.get().label());
             while (edgeIterator.hasNext()) {
                 final Edge edge = edgeIterator.next();
                 if (ElementHelper.areEqual(edge, baseEdge))

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedElement.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedElement.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedElement.java
index b748633..19c80cc 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedElement.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedElement.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.structure.util.detached;
 import org.apache.tinkerpop.gremlin.structure.Element;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Property;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.Attachable;
 import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
 import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
@@ -46,7 +47,12 @@ public abstract class DetachedElement<E> implements Element, Serializable, Attac
     }
 
     protected DetachedElement(final Element element) {
-        this(element.id(), element.label());
+        this.id = element.id();
+        try {
+            this.label = element.label();
+        } catch (IllegalStateException e) {
+            this.label = Vertex.DEFAULT_LABEL;
+        }
     }
 
     protected DetachedElement(final Object id, final String label) {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdge.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdge.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdge.java
index 80f3bb3..8484f09 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdge.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdge.java
@@ -26,6 +26,8 @@ import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Element;
 import org.apache.tinkerpop.gremlin.structure.Property;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
+import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 
 import java.util.Collections;
 import java.util.Iterator;
@@ -35,12 +37,19 @@ import java.util.Iterator;
  */
 public class ReferenceEdge extends ReferenceElement<Edge> implements Edge {
 
+    private ReferenceVertex inVertex;
+    private ReferenceVertex outVertex;
+    private String label;
+
     private ReferenceEdge() {
 
     }
 
     public ReferenceEdge(final Edge edge) {
         super(edge);
+        this.inVertex = new ReferenceVertex(edge.inVertex());
+        this.outVertex = new ReferenceVertex(edge.outVertex());
+        this.label = edge.label();
     }
 
     @Override
@@ -55,7 +64,22 @@ public class ReferenceEdge extends ReferenceElement<Edge> implements Edge {
 
     @Override
     public Iterator<Vertex> vertices(final Direction direction) {
-        return Collections.emptyIterator();
+        if (direction.equals(Direction.OUT))
+            return IteratorUtils.of(this.outVertex);
+        else if (direction.equals(Direction.IN))
+            return IteratorUtils.of(this.inVertex);
+        else
+            return IteratorUtils.of(this.outVertex, this.inVertex);
+    }
+
+    @Override
+    public Vertex inVertex() {
+        return this.inVertex;
+    }
+
+    @Override
+    public Vertex outVertex() {
+        return this.outVertex;
     }
 
     @Override
@@ -65,6 +89,11 @@ public class ReferenceEdge extends ReferenceElement<Edge> implements Edge {
 
     @Override
     public String toString() {
-        return "e[" + this.id + "]";
+        return StringFactory.edgeString(this);
+    }
+
+    @Override
+    public String label() {
+        return this.label;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexProperty.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexProperty.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexProperty.java
index 326708c..a4b2321 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexProperty.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexProperty.java
@@ -22,7 +22,6 @@
 package org.apache.tinkerpop.gremlin.structure.util.reference;
 
 import org.apache.tinkerpop.gremlin.structure.Element;
-import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Property;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.VertexProperty;
@@ -63,6 +62,11 @@ public class ReferenceVertexProperty<V> extends ReferenceElement<VertexProperty<
     }
 
     @Override
+    public String label() {
+        return this.key;
+    }
+
+    @Override
     public V value() throws NoSuchElementException {
         return this.value;
     }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java
index 6a98db1..894599d 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java
@@ -478,29 +478,30 @@ public final class StarGraph implements Graph, Serializable {
 
         @Override
         public Edge addEdge(final String label, final Vertex inVertex, final Object... keyValues) {
-            if (!starVertex.equals(inVertex))
-                throw new IllegalStateException("An adjacent vertex can only connect to the star vertex: " + starVertex);
-            return starVertex.addInEdge(label, this, keyValues);
+            if (inVertex.equals(starVertex))
+                return starVertex.addInEdge(label, this, keyValues);
+            else
+                throw GraphComputer.Exceptions.adjacentVertexEdgesAndVerticesCanNotBeReadOrUpdated();
         }
 
         @Override
         public <V> VertexProperty<V> property(final String key, final V value, final Object... keyValues) {
-            throw Element.Exceptions.propertyAdditionNotSupported();
+            throw GraphComputer.Exceptions.adjacentVertexPropertiesCanNotBeReadOrUpdated();
         }
 
         @Override
         public <V> VertexProperty<V> property(final VertexProperty.Cardinality cardinality, final String key, final V value, final Object... keyValues) {
-            throw Element.Exceptions.propertyAdditionNotSupported();
+            throw GraphComputer.Exceptions.adjacentVertexPropertiesCanNotBeReadOrUpdated();
         }
 
         @Override
         public Iterator<Edge> edges(final Direction direction, final String... edgeLabels) {
-            return Collections.emptyIterator();  // TODO: just return to starVertex?
+            throw GraphComputer.Exceptions.adjacentVertexEdgesAndVerticesCanNotBeReadOrUpdated();
         }
 
         @Override
         public Iterator<Vertex> vertices(final Direction direction, final String... edgeLabels) {
-            return Collections.emptyIterator();  // TODO: just return star vertex?
+            throw GraphComputer.Exceptions.adjacentVertexEdgesAndVerticesCanNotBeReadOrUpdated();
         }
 
         @Override
@@ -510,7 +511,7 @@ public final class StarGraph implements Graph, Serializable {
 
         @Override
         public String label() {
-            return Vertex.DEFAULT_LABEL;
+            throw GraphComputer.Exceptions.adjacentVertexLabelsCanNotBeRead();
         }
 
         @Override
@@ -525,7 +526,7 @@ public final class StarGraph implements Graph, Serializable {
 
         @Override
         public <V> Iterator<VertexProperty<V>> properties(final String... propertyKeys) {
-            return Collections.emptyIterator();
+            throw GraphComputer.Exceptions.adjacentVertexPropertiesCanNotBeReadOrUpdated();
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
index d5a2bbc..98fd101 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
@@ -25,11 +25,11 @@ import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.process.computer.util.StaticMapReduce;
 import org.apache.tinkerpop.gremlin.process.computer.util.StaticVertexProgram;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
+import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
-import org.apache.tinkerpop.gremlin.util.StreamFactory;
 import org.junit.Ignore;
 import org.junit.Test;
 
@@ -57,6 +57,10 @@ import static org.junit.Assert.*;
         "providedKeyIsNotAnElementComputeKey",
         "isolationNotSupported",
         "incidentAndAdjacentElementsCanNotBeAccessedInMapReduce",
+        "adjacentVertexLabelsCanNotBeRead",
+        "adjacentVertexPropertiesCanNotBeReadOrUpdated",
+        "adjacentVertexEdgesAndVerticesCanNotBeReadOrUpdated",
+        "adjacentVerticesCanNotBeQueried",
         "resultGraphPersistCombinationNotSupported" // TODO: NOT TRUE!
 })
 @ExceptionCoverage(exceptionClass = Graph.Exceptions.class, methods = {
@@ -645,7 +649,7 @@ public class GraphComputerTest extends AbstractGremlinProcessTest {
         @Override
         public void reduce(NullObject key, Iterator<Integer> values, ReduceEmitter<NullObject, Integer> emitter) {
             int sum = 0;
-            while(values.hasNext()) {
+            while (values.hasNext()) {
                 sum = sum + values.next();
             }
             emitter.emit(sum);
@@ -732,7 +736,7 @@ public class GraphComputerTest extends AbstractGremlinProcessTest {
         @Override
         public void reduce(final NullObject key, final Iterator<Integer> values, final ReduceEmitter<NullObject, Integer> emitter) {
             int sum = 0;
-            while(values.hasNext()) {
+            while (values.hasNext()) {
                 sum = sum + values.next();
             }
             emitter.emit(sum);
@@ -838,11 +842,144 @@ public class GraphComputerTest extends AbstractGremlinProcessTest {
 
     }
 
+    /////////////////////////////////////////////
     @Test
-    @Ignore
     @LoadGraphWith(MODERN)
     public void shouldNotAllowEdgeAccessInMapReduce() throws Exception {
+        graph.compute(graphComputerClass.get()).mapReduce(new MapReduceC()).submit().get();
+    }
+
+    public static class MapReduceC extends StaticMapReduce<MapReduce.NullObject, MapReduce.NullObject, MapReduce.NullObject, MapReduce.NullObject, MapReduce.NullObject> {
+
+        @Override
+        public boolean doStage(final Stage stage) {
+            return stage.equals(Stage.MAP);
+        }
+
+        @Override
+        public void map(final Vertex vertex, final MapEmitter<MapReduce.NullObject, MapReduce.NullObject> emitter) {
+            try {
+                vertex.edges(Direction.OUT);
+                fail("Edges should not be accessible in MapReduce.map()");
+            } catch (final IllegalStateException e) {
+                assertEquals(GraphComputer.Exceptions.incidentAndAdjacentElementsCanNotBeAccessedInMapReduce().getMessage(), e.getMessage());
+            }
+            try {
+                vertex.edges(Direction.IN);
+                fail("Edges should not be accessible in MapReduce.map()");
+            } catch (final IllegalStateException e) {
+                assertEquals(GraphComputer.Exceptions.incidentAndAdjacentElementsCanNotBeAccessedInMapReduce().getMessage(), e.getMessage());
+            }
+            try {
+                vertex.edges(Direction.BOTH);
+                fail("Edges should not be accessible in MapReduce.map()");
+            } catch (final IllegalStateException e) {
+                assertEquals(GraphComputer.Exceptions.incidentAndAdjacentElementsCanNotBeAccessedInMapReduce().getMessage(), e.getMessage());
+            }
+        }
+
+        @Override
+        public String getMemoryKey() {
+            return MapReduce.NullObject.instance().toString();
+        }
+
+        @Override
+        public MapReduce.NullObject generateFinalResult(final Iterator<KeyValue<MapReduce.NullObject, MapReduce.NullObject>> keyValues) {
+            return MapReduce.NullObject.instance();
+        }
+    }
+    /////////////////////////////////////////////
+
+    /////////////////////////////////////////////
+    @Test
+    @LoadGraphWith(MODERN)
+    public void shouldOnlyAllowIDAccessOfAdjacentVertices() throws Exception {
+        graph.compute(graphComputerClass.get()).program(new VertexProgramI()).submit().get();
+    }
+
+    public static class VertexProgramI extends StaticVertexProgram<MapReduce.NullObject> {
+
+        @Override
+        public void setup(final Memory memory) {
+
+        }
 
+        @Override
+        public void execute(Vertex vertex, Messenger messenger, Memory memory) {
+            vertex.vertices(Direction.OUT).forEachRemaining(Vertex::id);
+            vertex.vertices(Direction.IN).forEachRemaining(Vertex::id);
+            vertex.vertices(Direction.BOTH).forEachRemaining(Vertex::id);
+            if (vertex.vertices(Direction.OUT).hasNext()) {
+                try {
+                    vertex.vertices(Direction.OUT).forEachRemaining(Vertex::label);
+                    fail("Adjacent vertex labels should not be accessible in VertexProgram.execute()");
+                } catch (IllegalStateException e) {
+                    assertEquals(GraphComputer.Exceptions.adjacentVertexLabelsCanNotBeRead().getMessage(), e.getMessage());
+                }
+            }
+            if (vertex.vertices(Direction.IN).hasNext()) {
+                try {
+                    vertex.vertices(Direction.IN).forEachRemaining(Vertex::label);
+                    fail("Adjacent vertex labels should not be accessible in VertexProgram.execute()");
+                } catch (IllegalStateException e) {
+                    assertEquals(GraphComputer.Exceptions.adjacentVertexLabelsCanNotBeRead().getMessage(), e.getMessage());
+                }
+            }
+            if (vertex.vertices(Direction.BOTH).hasNext()) {
+                try {
+                    vertex.vertices(Direction.BOTH).forEachRemaining(Vertex::label);
+                    fail("Adjacent vertex labels should not be accessible in VertexProgram.execute()");
+                } catch (IllegalStateException e) {
+                    assertEquals(GraphComputer.Exceptions.adjacentVertexLabelsCanNotBeRead().getMessage(), e.getMessage());
+                }
+            }
+            ////////////////////
+            if (vertex.vertices(Direction.OUT).hasNext()) {
+                try {
+                    vertex.vertices(Direction.OUT).forEachRemaining(v -> v.property("name"));
+                    fail("Adjacent vertex properties should not be accessible in VertexProgram.execute()");
+                } catch (IllegalStateException e) {
+                    assertEquals(GraphComputer.Exceptions.adjacentVertexPropertiesCanNotBeReadOrUpdated().getMessage(), e.getMessage());
+                }
+            }
+            if (vertex.vertices(Direction.IN).hasNext()) {
+                try {
+                    vertex.vertices(Direction.IN).forEachRemaining(v -> v.property("name"));
+                    fail("Adjacent vertex properties should not be accessible in VertexProgram.execute()");
+                } catch (IllegalStateException e) {
+                    assertEquals(GraphComputer.Exceptions.adjacentVertexPropertiesCanNotBeReadOrUpdated().getMessage(), e.getMessage());
+                }
+            }
+            if (vertex.vertices(Direction.BOTH).hasNext()) {
+                try {
+                    vertex.vertices(Direction.BOTH).forEachRemaining(v -> v.property("name"));
+                    fail("Adjacent vertex properties should not be accessible in VertexProgram.execute()");
+                } catch (IllegalStateException e) {
+                    assertEquals(GraphComputer.Exceptions.adjacentVertexPropertiesCanNotBeReadOrUpdated().getMessage(), e.getMessage());
+                }
+            }
+        }
+
+        @Override
+        public boolean terminate(final Memory memory) {
+            return memory.getIteration() > 1;
+        }
+
+        @Override
+        public Set<MessageScope> getMessageScopes(Memory memory) {
+            return Collections.emptySet();
+        }
+
+        @Override
+        public GraphComputer.ResultGraph getPreferredResultGraph() {
+            return GraphComputer.ResultGraph.NEW;
+        }
+
+        @Override
+        public GraphComputer.Persist getPreferredPersist() {
+            return GraphComputer.Persist.NOTHING;
+        }
     }
+    /////////////////////////////////////////////
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/ComputerGraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/ComputerGraphTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/ComputerGraphTest.java
index d69f1ee..3cb32a3 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/ComputerGraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/ComputerGraphTest.java
@@ -19,22 +19,10 @@
 package org.apache.tinkerpop.gremlin.process.computer.util;
 
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
-import org.apache.tinkerpop.gremlin.FeatureRequirement;
-import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.VertexProperty;
-import org.junit.Ignore;
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
 import org.junit.Test;
 
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import static org.junit.Assert.*;
-
 /**
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */
@@ -42,6 +30,10 @@ import static org.junit.Assert.*;
 public class ComputerGraphTest extends AbstractGremlinTest {
 
     @Test
+    public void shouldTrue() {
+    }
+
+    /*@Test
     @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
     public void shouldFilterHiddenProperties() {
         final ComputerGraph sg = new ComputerGraph(graph, new HashSet<>(Arrays.asList("***hidden-guy")));
@@ -85,5 +77,5 @@ public class ComputerGraphTest extends AbstractGremlinTest {
         final Set<String> keys = v.keys();
         assertTrue(keys.contains("not-hidden-guy"));
         assertFalse(keys.contains("***hidden-guy"));
-    }
+    } */
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
index 9d34afb..35ef08c 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/LocalTest.java
@@ -20,6 +20,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.branch;
 
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
 import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
@@ -74,6 +75,7 @@ public abstract class LocalTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_by() {
         final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_byXidX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
index 7d466c5..35b3c1d 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
@@ -121,6 +121,7 @@ public abstract class ExceptTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_repeatXbothEXcreatedX_exceptXeX_aggregateXeX_otherVX_emit_path() {
         final Traversal<Vertex, Path> traversal = get_g_VX1X_repeatXbothEXcreatedX_exceptXeX_aggregateXeX_otherVX_emit_path(convertToVertexId("marko"));
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
index 24709af..eaeacdf 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
@@ -146,7 +146,7 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    //@IgnoreEngine(TraversalEngine.Type.COMPUTER)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_VX1X_asXaX_outXknowsX_asXbX_selectXaX_byXnameX() {
         final Traversal<Vertex, String> traversal = get_g_VX1X_asXaX_outXknowsX_asXbX_selectXaX_byXnameX(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -442,6 +442,7 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void g_V_asXaX_hasXname_markoX_asXbX_asXcX_select_by_byXnameX_byXageX() {
         final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_asXaX_hasXname_markoX_asXbX_asXcX_select_by_byXnameX_byXageX();
         printTraversalForm(traversal);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategyProcessTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategyProcessTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategyProcessTest.java
index eaf451d..9932818 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategyProcessTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategyProcessTest.java
@@ -20,6 +20,7 @@ package org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration;
 
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
+import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
 import org.apache.tinkerpop.gremlin.process.UseEngine;
@@ -47,6 +48,7 @@ public class SubgraphStrategyProcessTest  extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void shouldFilterVertexCriterion() throws Exception {
         final Predicate<Vertex> vertexCriterion = vertex -> vertex.value("name").equals("josh") || vertex.value("name").equals("lop") || vertex.value("name").equals("ripple");
         final Predicate<Edge> edgeCriterion = edge -> true;
@@ -226,6 +228,7 @@ public class SubgraphStrategyProcessTest  extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
     public void shouldFilterMixedCriteria() throws Exception {
         final Predicate<Vertex> vertexCriterion = vertex -> vertex.value("name").equals("josh") || vertex.value("name").equals("lop") || vertex.value("name").equals("ripple");
         final Predicate<Edge> edgeCriterion = edge -> {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedGraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedGraphTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedGraphTest.java
index 4990a74..fd92b8f 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedGraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedGraphTest.java
@@ -26,7 +26,6 @@ import org.apache.tinkerpop.gremlin.FeatureRequirement;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.TestHelper;
 import org.apache.tinkerpop.gremlin.structure.Direction;
-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;
@@ -85,12 +84,12 @@ public class DetachedGraphTest extends AbstractGremlinTest {
         TestHelper.validateVertexEquality(detachedVertex, createdVertex, false);
         TestHelper.validateVertexEquality(detachedVertex, starVertex, false);
 
-        starGraph.getStarVertex().edges(Direction.BOTH).forEachRemaining(starEdge -> {
+      /*  starGraph.getStarVertex().edges(Direction.BOTH).forEachRemaining(starEdge -> {
             final DetachedEdge detachedEdge = DetachedFactory.detach(starEdge, true);
             final Edge createdEdge = detachedEdge.attach(Attachable.Method.create(random.nextBoolean() ? graph : createdVertex));
             TestHelper.validateEdgeEquality(detachedEdge, starEdge);
             TestHelper.validateEdgeEquality(detachedEdge, createdEdge);
-        });
+        });  */ // not possible because star edges don't have adjacent vertex labels
 
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
index 65ae375..b6a476e 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdgeTest.java
@@ -75,7 +75,7 @@ public class ReferenceEdgeTest extends AbstractGremlinTest {
         final ReferenceEdge referenceEdge = ReferenceFactory.detach(g.E(convertToEdgeId("marko", "knows", "vadas")).next());
         assertEquals(convertToEdgeId("marko", "knows", "vadas"), referenceEdge.id());
         assertEquals(0, IteratorUtils.count(referenceEdge.properties()));
-        assertEquals(0, IteratorUtils.count(referenceEdge.vertices(Direction.BOTH)));
+        assertEquals(2, IteratorUtils.count(referenceEdge.vertices(Direction.BOTH)));
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/structure/ExceptionCoverageTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/structure/ExceptionCoverageTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/structure/ExceptionCoverageTest.java
index 5b524ad..ee47666 100644
--- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/structure/ExceptionCoverageTest.java
+++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/structure/ExceptionCoverageTest.java
@@ -68,9 +68,6 @@ public class ExceptionCoverageTest {
             add("org.apache.tinkerpop.gremlin.structure.Graph$Exceptions#traversalEngineNotSupported");
 
             // todo: need to write consistency tests for the following items still...........
-            add("org.apache.tinkerpop.gremlin.process.computer.GraphComputer$Exceptions#adjacentElementPropertiesCanNotBeRead");
-            add("org.apache.tinkerpop.gremlin.process.computer.GraphComputer$Exceptions#adjacentElementPropertiesCanNotBeWritten");
-            add("org.apache.tinkerpop.gremlin.process.computer.GraphComputer$Exceptions#adjacentVerticesCanNotBeQueried");
             add("org.apache.tinkerpop.gremlin.process.computer.GraphComputer$Exceptions#supportsDirectObjects");
         }};
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopMap.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopMap.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopMap.java
index 3e55613..2250c7e 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopMap.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopMap.java
@@ -26,10 +26,12 @@ import org.apache.tinkerpop.gremlin.hadoop.structure.io.ObjectWritable;
 import org.apache.tinkerpop.gremlin.hadoop.structure.io.VertexWritable;
 import org.apache.tinkerpop.gremlin.hadoop.structure.util.ConfUtil;
 import org.apache.tinkerpop.gremlin.process.computer.MapReduce;
+import org.apache.tinkerpop.gremlin.process.computer.util.ComputerGraph;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
+import java.util.Optional;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
@@ -54,7 +56,7 @@ public class HadoopMap extends Mapper<NullWritable, VertexWritable, ObjectWritab
     @Override
     public void map(final NullWritable key, final VertexWritable value, final Mapper<NullWritable, VertexWritable, ObjectWritable, ObjectWritable>.Context context) throws IOException, InterruptedException {
         this.mapEmitter.setContext(context);
-        this.mapReduce.map(value.get(), this.mapEmitter);
+        this.mapReduce.map(ComputerGraph.mapReduce(value.get(), Optional.empty()), this.mapEmitter);  // TODO: not Optional.empty()!
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphComputeVertex.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphComputeVertex.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphComputeVertex.java
index d262e62..15cd0e3 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphComputeVertex.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphComputeVertex.java
@@ -52,10 +52,9 @@ public final class GiraphComputeVertex extends Vertex<ObjectWritable, VertexWrit
         final VertexProgram<?> vertexProgram = workerContext.getVertexProgramPool().take();
         final GiraphMemory memory = workerContext.getMemory();
         final GiraphMessenger messenger = workerContext.getMessenger(this, messages.iterator());
-        final org.apache.tinkerpop.gremlin.structure.Vertex wrappedVertex = ComputerGraph.of(this.getValue().get(), vertexProgram.getElementComputeKeys());
         ///////////
         if (!(Boolean) ((RuleWritable) this.getAggregatedValue(Constants.GREMLIN_HADOOP_HALT)).getObject()) {
-            vertexProgram.execute(wrappedVertex, messenger, memory);
+            vertexProgram.execute(ComputerGraph.vertexProgram(this.getValue().get(), vertexProgram), messenger, memory);
         } else if (workerContext.deriveMemory()) {
             final MapMemory mapMemory = new MapMemory();
             memory.asMap().forEach(mapMemory::set);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/SparkExecutor.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/SparkExecutor.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/SparkExecutor.java
index 3cc0542..93decdb 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/SparkExecutor.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/SparkExecutor.java
@@ -95,7 +95,7 @@ public final class SparkExecutor {
                         previousView.forEach(property -> property.attach(Attachable.Method.create(vertex)));  // attach the view to the vertex
                         ///
                         messenger.setVertexAndIncomingMessages(vertex, incomingMessages); // set the messenger with the incoming messages
-                        workerVertexProgram.execute(ComputerGraph.of(vertex, elementComputeKeys), messenger, memory); // execute the vertex program on this vertex for this iteration
+                        workerVertexProgram.execute(ComputerGraph.vertexProgram(vertex, workerVertexProgram), messenger, memory); // execute the vertex program on this vertex for this iteration
                         ///
                         final List<DetachedVertexProperty<Object>> nextView = elementComputeKeysArray.length == 0 ?  // not all vertex programs have compute keys
                                 Collections.emptyList() :
@@ -166,7 +166,7 @@ public final class SparkExecutor {
             workerMapReduce.workerStart(MapReduce.Stage.MAP);
             final SparkMapEmitter<K, V> mapEmitter = new SparkMapEmitter<>();
             return () -> IteratorUtils.flatMap(partitionIterator, vertexWritable -> {
-                workerMapReduce.map(vertexWritable._2().get(), mapEmitter);
+                workerMapReduce.map(ComputerGraph.mapReduce(vertexWritable._2().get(),java.util.Optional.empty()), mapEmitter);  // TODO: not Optional.empty()!
                 if (!partitionIterator.hasNext())
                     workerMapReduce.workerEnd(MapReduce.Stage.MAP);
                 return mapEmitter.getEmissions();

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/4bbbb636/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerGraphComputer.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerGraphComputer.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerGraphComputer.java
index 307722e..b1e6ab5 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerGraphComputer.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerGraphComputer.java
@@ -30,7 +30,6 @@ import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerHelper;
 
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Map;
@@ -120,27 +119,28 @@ public class TinkerGraphComputer implements GraphComputer {
             if (!this.persist.get().equals(Persist.NOTHING))
                 throw GraphComputer.Exceptions.resultGraphPersistCombinationNotSupported(this.resultGraph.get(), this.persist.get());
 
-        //final Graph computeGraph = this.graph;
-        final ComputerGraph computeGraph = new ComputerGraph(this.graph, null == this.vertexProgram ? Collections.emptySet() : this.vertexProgram.getElementComputeKeys());
         this.memory = new TinkerMemory(this.vertexProgram, this.mapReducers);
         return CompletableFuture.<ComputerResult>supplyAsync(() -> {
             final long time = System.currentTimeMillis();
             try (final TinkerWorkerPool workers = new TinkerWorkerPool(Runtime.getRuntime().availableProcessors())) {
                 if (null != this.vertexProgram) {
                     TinkerHelper.createGraphView(this.graph, this.isolation, this.vertexProgram.getElementComputeKeys());
-                    computeGraph.setState(ComputerGraph.State.VERTEX_PROGRAM);
                     // execute the vertex program
                     this.vertexProgram.setup(this.memory);
                     this.memory.completeSubRound();
                     while (true) {
                         workers.setVertexProgram(this.vertexProgram);
                         workers.vertexProgramWorkerIterationStart(this.memory.asImmutable());
-                        final SynchronizedIterator<Vertex> vertices = new SynchronizedIterator<>(computeGraph.vertices());
+                        final SynchronizedIterator<Vertex> vertices = new SynchronizedIterator<>(this.graph.vertices());
                         workers.executeVertexProgram(vertexProgram -> {
                             while (true) {
                                 final Vertex vertex = vertices.next();
                                 if (null == vertex) return;
-                                vertexProgram.execute(vertex, new TinkerMessenger<>(vertex, this.messageBoard, vertexProgram.getMessageCombiner()), this.memory);
+                                vertexProgram.execute(
+                                        ComputerGraph.vertexProgram(vertex, this.vertexProgram),
+                                        new TinkerMessenger<>(vertex, this.messageBoard, vertexProgram.getMessageCombiner()),
+                                        this.memory
+                                );
                             }
                         });
                         workers.vertexProgramWorkerIterationEnd(this.memory.asImmutable());
@@ -158,18 +158,17 @@ public class TinkerGraphComputer implements GraphComputer {
                 }
 
                 // execute mapreduce jobs
-                computeGraph.setState(ComputerGraph.State.MAP_REDUCE);
                 for (final MapReduce mapReduce : mapReducers) {
                     if (mapReduce.doStage(MapReduce.Stage.MAP)) {
                         final TinkerMapEmitter<?, ?> mapEmitter = new TinkerMapEmitter<>(mapReduce.doStage(MapReduce.Stage.REDUCE));
-                        final SynchronizedIterator<Vertex> vertices = new SynchronizedIterator<>(computeGraph.vertices());
+                        final SynchronizedIterator<Vertex> vertices = new SynchronizedIterator<>(this.graph.vertices());
                         workers.setMapReduce(mapReduce);
                         workers.mapReduceWorkerStart(MapReduce.Stage.MAP);
                         workers.executeMapReduce(workerMapReduce -> {
                             while (true) {
                                 final Vertex vertex = vertices.next();
                                 if (null == vertex) return;
-                                workerMapReduce.map(vertex, mapEmitter);
+                                workerMapReduce.map(ComputerGraph.mapReduce(vertex, Optional.ofNullable(this.vertexProgram)), mapEmitter);
                             }
                         });
                         workers.mapReduceWorkerEnd(MapReduce.Stage.MAP);