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 2016/01/05 23:54:42 UTC
[10/50] incubator-tinkerpop git commit: Initial development to track
open graph instances in the tests.
Initial development to track open graph instances in the tests.
Neo4j is currently not passing
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/947d192e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/947d192e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/947d192e
Branch: refs/heads/TINKERPOP-1033
Commit: 947d192e682fb1a3c9470c87bed8b4cebf69a60e
Parents: 0926604
Author: Nghia Tran <ng...@gmail.com>
Authored: Sun Dec 6 17:25:34 2015 -0500
Committer: Nghia Tran <ng...@gmail.com>
Committed: Mon Dec 21 17:01:34 2015 -0500
----------------------------------------------------------------------
.../tinkerpop/gremlin/AbstractGremlinTest.java | 3 +
.../apache/tinkerpop/gremlin/GraphManager.java | 102 ++++++++++++++++++-
2 files changed, 104 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/947d192e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
index ebf804b..e859208 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
@@ -133,6 +133,9 @@ public abstract class AbstractGremlinTest {
public void tearDown() throws Exception {
if (null != graphProvider) {
graphProvider.clear(graph, config);
+ if(graphProvider instanceof GraphManager.ManagedGraphProvider)
+ ((GraphManager.ManagedGraphProvider)graphProvider).tryCloseGraphs();
+
g = null;
config = null;
graphProvider = null;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/947d192e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/GraphManager.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/GraphManager.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/GraphManager.java
index 4b3c98c..23f5c8e 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/GraphManager.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/GraphManager.java
@@ -18,7 +18,17 @@
*/
package org.apache.tinkerpop.gremlin;
+import org.apache.commons.configuration.Configuration;
import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.structure.Element;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* Holds objects specified by the test suites supplying them in a static manner to the test cases.
@@ -36,7 +46,7 @@ public class GraphManager {
}
public static GraphProvider getGraphProvider() {
- return graphProvider;
+ return new ManagedGraphProvider(graphProvider);
}
public static TraversalEngine.Type setTraversalEngineType(final TraversalEngine.Type traversalEngine) {
@@ -48,4 +58,94 @@ public class GraphManager {
public static TraversalEngine.Type getTraversalEngineType() {
return traversalEngineType;
}
+
+ public static class ManagedGraphProvider implements GraphProvider {
+ private final GraphProvider innerGraphProvider;
+ private final List<Graph> openGraphs = new ArrayList<>();
+
+ public ManagedGraphProvider(final GraphProvider innerGraphProvider){
+ this.innerGraphProvider = innerGraphProvider;
+ }
+
+ public void tryCloseGraphs(){
+ for(Graph graph : openGraphs) {
+ try {
+ graph.close();
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public GraphTraversalSource traversal(final Graph graph) {
+ return innerGraphProvider.traversal(graph);
+ }
+
+ @Override
+ public GraphTraversalSource traversal(final Graph graph, final TraversalStrategy... strategies) {
+ return innerGraphProvider.traversal(graph, strategies);
+ }
+
+ @Override
+ public Graph standardTestGraph(final Class<?> test, final String testMethodName, final LoadGraphWith.GraphData loadGraphWith) {
+ final Graph graph = innerGraphProvider.standardTestGraph(test, testMethodName, loadGraphWith);
+ openGraphs.add(graph);
+ return graph;
+ }
+
+ @Override
+ public Graph openTestGraph(final Configuration config) {
+ final Graph graph = innerGraphProvider.openTestGraph(config);
+ openGraphs.add(graph);
+ return graph;
+ }
+
+ @Override
+ public Configuration standardGraphConfiguration(final Class<?> test, final String testMethodName, final LoadGraphWith.GraphData loadGraphWith) {
+ return innerGraphProvider.standardGraphConfiguration(test, testMethodName, loadGraphWith);
+ }
+
+ @Override
+ public void clear(final Configuration configuration) throws Exception {
+ innerGraphProvider.clear(configuration);
+ }
+
+ @Override
+ public void clear(final Graph graph, final Configuration configuration) throws Exception {
+ innerGraphProvider.clear(graph, configuration);
+ }
+
+ @Override
+ public Object convertId(final Object id, final Class<? extends Element> c) {
+ return innerGraphProvider.convertId(id, c);
+ }
+
+ @Override
+ public String convertLabel(final String label) {
+ return innerGraphProvider.convertLabel(label);
+ }
+
+ @Override
+ public Configuration newGraphConfiguration(final String graphName, final Class<?> test, final String testMethodName,
+ final Map<String, Object> configurationOverrides, final LoadGraphWith.GraphData loadGraphWith) {
+ return innerGraphProvider.newGraphConfiguration(graphName, test, testMethodName, configurationOverrides, loadGraphWith);
+ }
+
+ @Override
+ public Configuration newGraphConfiguration(final String graphName, final Class<?> test, final String testMethodName,final LoadGraphWith.GraphData loadGraphWith) {
+ return innerGraphProvider.newGraphConfiguration(graphName, test, testMethodName, loadGraphWith);
+ }
+
+ @Override
+ public void loadGraphData(final Graph graph, final LoadGraphWith loadGraphWith, final Class testClass, final String testName) {
+ innerGraphProvider.loadGraphData(graph, loadGraphWith, testClass, testName);
+ }
+
+ @Override
+ public Set<Class> getImplementations() {
+ return innerGraphProvider.getImplementations();
+ }
+ }
+
}