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