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