You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2017/01/23 21:24:44 UTC

[48/50] [abbrv] tinkerpop git commit: gremlin-python/ now uses gremlin-tinkergraph-test/ AbstractTinkerGraphProvider for PythonProvider. So much duplicated code has gone down the drain cause of AbstarctTinkerGraphProvider. Classy.

gremlin-python/ now uses gremlin-tinkergraph-test/ AbstractTinkerGraphProvider for PythonProvider. So much duplicated code has gone down the drain cause of AbstarctTinkerGraphProvider. Classy.


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

Branch: refs/heads/TINKERPOP-1564
Commit: c0ae4dec2dc1c3d9d8652dc82bc7655d910035d6
Parents: cb9cc63
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Fri Jan 20 08:25:11 2017 -0700
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon Jan 23 14:22:53 2017 -0700

----------------------------------------------------------------------
 .../akka/process/actors/AkkaActorsProvider.java |  9 +--
 gremlin-python/pom.xml                          |  2 +-
 .../python/jsr223/PythonComputerProvider.java   |  1 -
 .../gremlin/python/jsr223/PythonProvider.java   | 77 ++------------------
 .../AbstractTinkerGraphProvider.java            | 19 +++--
 .../computer/SparkTinkerGraphProvider.java      |  4 +-
 6 files changed, 21 insertions(+), 91 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c0ae4dec/akka-gremlin/src/test/java/org/apache/tinkerpop/gremlin/akka/process/actors/AkkaActorsProvider.java
----------------------------------------------------------------------
diff --git a/akka-gremlin/src/test/java/org/apache/tinkerpop/gremlin/akka/process/actors/AkkaActorsProvider.java b/akka-gremlin/src/test/java/org/apache/tinkerpop/gremlin/akka/process/actors/AkkaActorsProvider.java
index 7a27994..432444b 100644
--- a/akka-gremlin/src/test/java/org/apache/tinkerpop/gremlin/akka/process/actors/AkkaActorsProvider.java
+++ b/akka-gremlin/src/test/java/org/apache/tinkerpop/gremlin/akka/process/actors/AkkaActorsProvider.java
@@ -19,7 +19,6 @@
 
 package org.apache.tinkerpop.gremlin.akka.process.actors;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.akka.process.actors.io.gryo.GryoSerializer;
 import org.apache.tinkerpop.gremlin.process.actors.GraphActors;
@@ -90,14 +89,8 @@ public class AkkaActorsProvider extends AbstractTinkerGraphProvider {
     }
 
     @Override
-    public void clear(final Graph graph, final Configuration configuration) throws Exception {
-        // don't delete the loaded data
-    }
-
-
-    @Override
     public GraphTraversalSource traversal(final Graph graph) {
-        if ((Boolean) graph.configuration().getProperty(GREMLIN_TINKERGRAPH_SKIP_TEST))
+        if (isSkipTest(graph.configuration()))
             return graph.traversal();
         else {
             final GraphTraversalSource g = graph.traversal();

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c0ae4dec/gremlin-python/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 8935dfc..e0b48c9 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -48,7 +48,7 @@
         <!-- TESTING -->
         <dependency>
             <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>tinkergraph-gremlin</artifactId>
+            <artifactId>gremlin-tinkergraph-test</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c0ae4dec/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonComputerProvider.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonComputerProvider.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonComputerProvider.java
index 7ccc4c6..1a6994f 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonComputerProvider.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonComputerProvider.java
@@ -29,7 +29,6 @@ import org.apache.tinkerpop.gremlin.tinkergraph.process.computer.TinkerGraphComp
  */
 @GraphProvider.Descriptor(computer = TinkerGraphComputer.class)
 public class PythonComputerProvider extends PythonProvider {
-
     public GraphTraversalSource traversal(final Graph graph) {
         return super.traversal(graph).withComputer();
     }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c0ae4dec/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonProvider.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonProvider.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonProvider.java
index 605539d..b689663 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonProvider.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonProvider.java
@@ -19,9 +19,6 @@
 
 package org.apache.tinkerpop.gremlin.python.jsr223;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.tinkerpop.gremlin.AbstractGraphProvider;
-import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.jsr223.JavaTranslator;
 import org.apache.tinkerpop.gremlin.jsr223.ScriptEngineCache;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalInterruptionComputerTest;
@@ -32,27 +29,18 @@ import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.Elemen
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.EventStrategyProcessTest;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.TranslationStrategy;
 import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.VertexProperty;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerEdge;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerElement;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraphVariables;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerProperty;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerVertex;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerVertexProperty;
+import org.apache.tinkerpop.gremlin.tinkergraph.AbstractTinkerGraphProvider;
 
 import javax.script.ScriptException;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Map;
 import java.util.Random;
 import java.util.Set;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class PythonProvider extends AbstractGraphProvider {
+public class PythonProvider extends AbstractTinkerGraphProvider {
 
     protected static final boolean IMPORT_STATICS = new Random().nextBoolean();
 
@@ -73,70 +61,15 @@ public class PythonProvider extends AbstractGraphProvider {
             EventStrategyProcessTest.class.getCanonicalName(),
             ElementIdStrategyProcessTest.class.getCanonicalName()));
 
-    private static final Set<Class> IMPLEMENTATION = new HashSet<Class>() {{
-        add(TinkerEdge.class);
-        add(TinkerElement.class);
-        add(TinkerGraph.class);
-        add(TinkerGraphVariables.class);
-        add(TinkerProperty.class);
-        add(TinkerVertex.class);
-        add(TinkerVertexProperty.class);
-    }};
-
-    @Override
-    public Map<String, Object> getBaseConfiguration(final String graphName, final Class<?> test, final String testMethodName,
-                                                    final LoadGraphWith.GraphData loadGraphWith) {
-
-        final TinkerGraph.DefaultIdManager idManager = selectIdMakerFromGraphData(loadGraphWith);
-        final String idMaker = (idManager.equals(TinkerGraph.DefaultIdManager.ANY) ? selectIdMakerFromGraphData(loadGraphWith) : idManager).name();
-        return new HashMap<String, Object>() {{
-            put(Graph.GRAPH, TinkerGraph.class.getName());
-            put(TinkerGraph.GREMLIN_TINKERGRAPH_VERTEX_ID_MANAGER, idMaker);
-            put(TinkerGraph.GREMLIN_TINKERGRAPH_EDGE_ID_MANAGER, idMaker);
-            put(TinkerGraph.GREMLIN_TINKERGRAPH_VERTEX_PROPERTY_ID_MANAGER, idMaker);
-            put("skipTest", SKIP_TESTS.contains(testMethodName) || SKIP_TESTS.contains(test.getCanonicalName()));
-            if (loadGraphWith == LoadGraphWith.GraphData.CREW)
-                put(TinkerGraph.GREMLIN_TINKERGRAPH_DEFAULT_VERTEX_PROPERTY_CARDINALITY, VertexProperty.Cardinality.list.name());
-        }};
-    }
-
     @Override
-    public void clear(final Graph graph, final Configuration configuration) throws Exception {
-        if (graph != null) graph.close();
+    public Set<String> getSkipTests() {
+        return SKIP_TESTS;
     }
 
     @Override
-    public Set<Class> getImplementations() {
-        return IMPLEMENTATION;
-    }
-
-    /**
-     * Test that load with specific graph data can be configured with a specific id manager as the data type to
-     * be used in the test for that graph is known.
-     */
-    protected TinkerGraph.DefaultIdManager selectIdMakerFromGraphData(final LoadGraphWith.GraphData loadGraphWith) {
-        if (null == loadGraphWith) return TinkerGraph.DefaultIdManager.ANY;
-        if (loadGraphWith.equals(LoadGraphWith.GraphData.CLASSIC))
-            return TinkerGraph.DefaultIdManager.INTEGER;
-        else if (loadGraphWith.equals(LoadGraphWith.GraphData.MODERN))
-            return TinkerGraph.DefaultIdManager.INTEGER;
-        else if (loadGraphWith.equals(LoadGraphWith.GraphData.CREW))
-            return TinkerGraph.DefaultIdManager.INTEGER;
-        else if (loadGraphWith.equals(LoadGraphWith.GraphData.GRATEFUL))
-            return TinkerGraph.DefaultIdManager.INTEGER;
-        else
-            throw new IllegalStateException(String.format("Need to define a new %s for %s", TinkerGraph.IdManager.class.getName(), loadGraphWith.name()));
-    }
-
-    /////////////////////////////
-    /////////////////////////////
-    /////////////////////////////
-
-    @Override
     public GraphTraversalSource traversal(final Graph graph) {
-        if ((Boolean) graph.configuration().getProperty("skipTest"))
+        if (isSkipTest(graph.configuration()))
             return graph.traversal();
-            //throw new VerificationException("This test current does not work with Gremlin-Python", EmptyTraversal.instance());
         else {
             try {
                 ScriptEngineCache.get("jython").eval(IMPORT_STATICS ?

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c0ae4dec/gremlin-tools/gremlin-tinkergraph-test/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/AbstractTinkerGraphProvider.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-tinkergraph-test/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/AbstractTinkerGraphProvider.java b/gremlin-tools/gremlin-tinkergraph-test/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/AbstractTinkerGraphProvider.java
index a25ac66..20749dc 100644
--- a/gremlin-tools/gremlin-tinkergraph-test/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/AbstractTinkerGraphProvider.java
+++ b/gremlin-tools/gremlin-tinkergraph-test/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/AbstractTinkerGraphProvider.java
@@ -83,6 +83,10 @@ public abstract class AbstractTinkerGraphProvider extends AbstractGraphProvider
 
     public abstract Set<String> getSkipTests();
 
+    protected static boolean isSkipTest(final Configuration configuration) {
+        return configuration.getBoolean(GREMLIN_TINKERGRAPH_SKIP_TEST,false);
+    }
+
     @Override
     public Map<String, Object> getBaseConfiguration(final String graphName, final Class<?> test, final String testMethodName,
                                                     final LoadGraphWith.GraphData loadGraphWith) {
@@ -132,14 +136,15 @@ public abstract class AbstractTinkerGraphProvider extends AbstractGraphProvider
 
     @Override
     public void clear(final Graph graph, final Configuration configuration) throws Exception {
-        if (graph != null)
-            graph.close();
-
-        // in the even the graph is persisted we need to clean up
         final String graphLocation = configuration.getString(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_LOCATION, null);
-        if (graphLocation != null) {
-            final File f = new File(graphLocation);
-            f.delete();
+        if (!PATHS.values().contains(graphLocation)) {
+            if (graph != null)
+                graph.close();
+            // in the event the graph is persisted we need to clean up
+            if (graphLocation != null) {
+                final File f = new File(graphLocation);
+                f.delete();
+            }
         }
     }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c0ae4dec/spark-gremlin/src/test/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkTinkerGraphProvider.java
----------------------------------------------------------------------
diff --git a/spark-gremlin/src/test/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkTinkerGraphProvider.java b/spark-gremlin/src/test/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkTinkerGraphProvider.java
index 19a7f8c..f199942 100644
--- a/spark-gremlin/src/test/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkTinkerGraphProvider.java
+++ b/spark-gremlin/src/test/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkTinkerGraphProvider.java
@@ -101,7 +101,7 @@ public class SparkTinkerGraphProvider extends AbstractTinkerGraphProvider {
 
     @Override
     public GraphTraversalSource traversal(final Graph graph) {
-        if (graph.configuration().getBoolean(GREMLIN_TINKERGRAPH_SKIP_TEST, false))
+        if (isSkipTest(graph.configuration()))
             return graph.traversal().withStrategies(ReadOnlyStrategy.instance()).withComputer();
         else
             return graph.traversal().withStrategies(ReadOnlyStrategy.instance()).withProcessor(SparkGraphComputer.open(graph.configuration()));
@@ -109,7 +109,7 @@ public class SparkTinkerGraphProvider extends AbstractTinkerGraphProvider {
 
     @Override
     public GraphComputer getGraphComputer(final Graph graph) {
-        if (graph.configuration().getBoolean(GREMLIN_TINKERGRAPH_SKIP_TEST, false))
+        if (isSkipTest(graph.configuration()))
             return new TinkerGraphComputer((TinkerGraph) graph);
         else
             return SparkGraphComputer.open(graph.configuration());