You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/02/12 15:42:12 UTC

incubator-tinkerpop git commit: Improved reusability of unique test directory creation in /target

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/tp31 0567c6bc1 -> 1f0584658


Improved reusability of unique test directory creation in /target

These features were formerly only available to Neo4j. Added `AbstractGraphProvider.makeTestDirectory()`. CTR


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

Branch: refs/heads/tp31
Commit: 1f058465801dbb5ba24503d62e1b4bddd18f74c6
Parents: 0567c6b
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Feb 12 09:41:14 2016 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Feb 12 09:41:14 2016 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                |  1 +
 .../tinkerpop/gremlin/AbstractGraphProvider.java  | 18 ++++++++++++++++++
 .../gremlin/neo4j/AbstractNeo4jGraphProvider.java |  5 -----
 .../neo4j/MultiMetaNeo4jGraphProvider.java        |  8 +-------
 .../neo4j/NoMultiNoMetaNeo4jGraphProvider.java    |  8 +-------
 5 files changed, 21 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/1f058465/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index caccb0f..9e197c2 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -28,6 +28,7 @@ TinkerPop 3.1.2 (NOT OFFICIALLY RELEASED YET)
 
 * `TraversalExplanation` is now `Serializable` and registered with `GryoMapper`.
 * Deprecated `ScriptElementFactory` and made the local `StarGraph` globally available for `ScriptInputFormat`'s `parse()` method.
+* Improved reusability of unique test directory creation in `/target` for `AbstractGraphProvider`, which was formerly only available to Neo4j, by adding `makeTestDirectory()`.
 * Optimized memory-usage in `TraversalVertexProgram`.
 * `Graph` instances are not merely "closed" at the end of tests, they are "cleared" via `GraphProvider.clear()`, which should in turn cleans up old data for an implementation.
 * Greatly reduced the amount of objects required in OLAP for the `ReducingBarrierStep` steps.

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/1f058465/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGraphProvider.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGraphProvider.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGraphProvider.java
index 62ddb3f..95c6b57 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGraphProvider.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGraphProvider.java
@@ -113,6 +113,24 @@ public abstract class AbstractGraphProvider implements GraphProvider {
         if (directory.exists()) logger.error("unable to delete directory " + directory.getAbsolutePath());
     }
 
+    /**
+     * Utility method to help produce an appropriate unique directory for a test. Designed to be called from
+     * {@link #getBaseConfiguration(String, Class, String, LoadGraphWith.GraphData)} for those graph providers that
+     * need a data directory for their {@link Graph} implementations.
+     */
+    protected String makeTestDirectory(final String graphName, final Class<?> test, final String testMethodName) {
+        return getWorkingDirectory() + File.separator
+                + TestHelper.cleanPathSegment(this.getClass().getSimpleName()) + File.separator
+                + TestHelper.cleanPathSegment(test.getSimpleName()) + File.separator
+                + TestHelper.cleanPathSegment(graphName) + File.separator
+                + cleanParameters(TestHelper.cleanPathSegment(testMethodName));
+    }
+
+    protected String cleanParameters(String methodName) {
+        int random = (int) (Math.random() * Integer.MAX_VALUE);
+        return methodName.replaceAll("[0-9, -]+$", String.valueOf(random));
+    }
+
     protected void readIntoGraph(final Graph g, final String path) throws IOException {
         final GraphReader reader = GryoReader.build()
                 .mapper(g.io(GryoIo.build()).mapper().create())

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/1f058465/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/AbstractNeo4jGraphProvider.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/AbstractNeo4jGraphProvider.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/AbstractNeo4jGraphProvider.java
index ebe8099..9226822 100644
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/AbstractNeo4jGraphProvider.java
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/AbstractNeo4jGraphProvider.java
@@ -49,11 +49,6 @@ public abstract class AbstractNeo4jGraphProvider extends AbstractGraphProvider {
         add(Neo4jVertexProperty.class);
     }};
 
-    protected String cleanParameters(String methodName) {
-        int random = (int) (Math.random() * Integer.MAX_VALUE);
-        return methodName.replaceAll("[0-9, -]+$", String.valueOf(random));
-    }
-
     @Override
     public void clear(final Graph graph, final Configuration configuration) throws Exception {
         if (null != graph) {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/1f058465/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/MultiMetaNeo4jGraphProvider.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/MultiMetaNeo4jGraphProvider.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/MultiMetaNeo4jGraphProvider.java
index b3572ae..8bd89d2 100644
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/MultiMetaNeo4jGraphProvider.java
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/MultiMetaNeo4jGraphProvider.java
@@ -19,11 +19,9 @@
 package org.apache.tinkerpop.gremlin.neo4j;
 
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.TestHelper;
 import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 
-import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -33,11 +31,7 @@ import java.util.Map;
 public class MultiMetaNeo4jGraphProvider extends AbstractNeo4jGraphProvider {
     @Override
     public Map<String, Object> getBaseConfiguration(final String graphName, final Class<?> test, final String testMethodName, final LoadGraphWith.GraphData graphData) {
-        final String directory = getWorkingDirectory() + File.separator
-                + TestHelper.cleanPathSegment(this.getClass().getSimpleName()) + File.separator
-                + TestHelper.cleanPathSegment(test.getSimpleName()) + File.separator
-                + TestHelper.cleanPathSegment(graphName) + File.separator
-                + cleanParameters(TestHelper.cleanPathSegment(testMethodName));
+        final String directory = makeTestDirectory(graphName, test, testMethodName);
 
         return new HashMap<String, Object>() {{
             put(Graph.GRAPH, Neo4jGraph.class.getName());

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/1f058465/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/NoMultiNoMetaNeo4jGraphProvider.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/NoMultiNoMetaNeo4jGraphProvider.java b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/NoMultiNoMetaNeo4jGraphProvider.java
index 233d681..22ae0ce 100644
--- a/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/NoMultiNoMetaNeo4jGraphProvider.java
+++ b/neo4j-gremlin/src/test/java/org/apache/tinkerpop/gremlin/neo4j/NoMultiNoMetaNeo4jGraphProvider.java
@@ -19,11 +19,9 @@
 package org.apache.tinkerpop.gremlin.neo4j;
 
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.TestHelper;
 import org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph;
 import org.apache.tinkerpop.gremlin.structure.Graph;
 
-import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -33,11 +31,7 @@ import java.util.Map;
 public class NoMultiNoMetaNeo4jGraphProvider extends AbstractNeo4jGraphProvider {
     @Override
     public Map<String, Object> getBaseConfiguration(final String graphName, final Class<?> test, final String testMethodName, final LoadGraphWith.GraphData graphData) {
-        final String directory = getWorkingDirectory() + File.separator
-                + TestHelper.cleanPathSegment(this.getClass().getSimpleName()) + File.separator
-                + TestHelper.cleanPathSegment(test.getSimpleName()) + File.separator
-                + TestHelper.cleanPathSegment(graphName) + File.separator
-                + cleanParameters(TestHelper.cleanPathSegment(testMethodName));
+        final String directory = makeTestDirectory(graphName, test, testMethodName);
 
         return new HashMap<String, Object>() {{
             put(Graph.GRAPH, Neo4jGraph.class.getName());