diff --git a/spring-data-graph-parent/pom.xml b/spring-data-graph-parent/pom.xml
index 0f1309f5b..e816cc89f 100644
--- a/spring-data-graph-parent/pom.xml
+++ b/spring-data-graph-parent/pom.xml
@@ -16,7 +16,7 @@
1.5.10
3.0.5.RELEASE
1.0.0.M3
- 1.3.M02
+ 1.3.M03
1.6.11.M2
diff --git a/spring-data-neo4j-roo/src/test/java/org/springframework/data/graph/neo4j/jpa/Neo4jEntityManagerTest.java b/spring-data-neo4j-roo/src/test/java/org/springframework/data/graph/neo4j/jpa/Neo4jEntityManagerTest.java
index ebf3fe073..f6d416b49 100644
--- a/spring-data-neo4j-roo/src/test/java/org/springframework/data/graph/neo4j/jpa/Neo4jEntityManagerTest.java
+++ b/spring-data-neo4j-roo/src/test/java/org/springframework/data/graph/neo4j/jpa/Neo4jEntityManagerTest.java
@@ -21,6 +21,7 @@ import org.springframework.data.graph.neo4j.support.GraphDatabaseContext;
import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
@@ -43,9 +44,14 @@ public class Neo4jEntityManagerTest {
Person person;
private Node node;
- @Before
+
+ @BeforeTransaction
public void cleanDb() {
Neo4jHelper.cleanDb(graphDatabaseContext);
+ }
+
+ @Before
+ public void setUp() {
person = new Person("Michael",35);
node = person.getUnderlyingState();
}
diff --git a/spring-data-neo4j-roo/src/test/resources/org/springframework/data/graph/neo4j/jpa/Neo4jEntityManagerTest-context.xml b/spring-data-neo4j-roo/src/test/resources/org/springframework/data/graph/neo4j/jpa/Neo4jEntityManagerTest-context.xml
index e81dcca03..247113f49 100644
--- a/spring-data-neo4j-roo/src/test/resources/org/springframework/data/graph/neo4j/jpa/Neo4jEntityManagerTest-context.xml
+++ b/spring-data-neo4j-roo/src/test/resources/org/springframework/data/graph/neo4j/jpa/Neo4jEntityManagerTest-context.xml
@@ -83,7 +83,7 @@
-->
-
diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/GraphDatabaseContext.java b/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/GraphDatabaseContext.java
index cae6ba1c2..af791a917 100644
--- a/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/GraphDatabaseContext.java
+++ b/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/GraphDatabaseContext.java
@@ -21,7 +21,7 @@ import org.apache.commons.logging.LogFactory;
import org.neo4j.graphdb.*;
import org.neo4j.graphdb.index.Index;
import org.neo4j.graphdb.index.IndexManager;
-import org.neo4j.kernel.EmbeddedGraphDatabase;
+import org.neo4j.kernel.AbstractGraphDatabase;
import org.springframework.core.convert.ConversionService;
import org.springframework.data.graph.core.GraphBacked;
import org.springframework.data.graph.core.NodeBacked;
@@ -296,7 +296,7 @@ public class GraphDatabaseContext {
*/
public TransactionManager getTxManager() {
- return ((EmbeddedGraphDatabase) graphDatabaseService).getConfig().getTxModule().getTxManager();
+ return ((AbstractGraphDatabase) graphDatabaseService).getConfig().getTxModule().getTxManager();
}
/**
diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/node/Neo4jHelper.java b/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/node/Neo4jHelper.java
index f79e40144..3d525c04f 100644
--- a/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/node/Neo4jHelper.java
+++ b/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/node/Neo4jHelper.java
@@ -16,31 +16,50 @@
package org.springframework.data.graph.neo4j.support.node;
+import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.Transaction;
+import org.neo4j.graphdb.index.IndexManager;
import org.springframework.data.graph.neo4j.support.GraphDatabaseContext;
public abstract class Neo4jHelper {
- public static void cleanDb(GraphDatabaseContext graphDatabaseContext, String... indexFieldsToRemove) {
- Transaction tx = graphDatabaseContext.beginTx();
+ public static void cleanDb(GraphDatabaseContext graphDatabaseContext) {
+ cleanDb(graphDatabaseContext.getGraphDatabaseService());
+ }
+
+ public static void cleanDb(GraphDatabaseService graphDatabaseService) {
+
+ Transaction tx = graphDatabaseService.beginTx();
try {
- Node refNode = graphDatabaseContext.getReferenceNode();
- for (Node node : graphDatabaseContext.getAllNodes()) {
- for (Relationship rel : node.getRelationships()) {
- rel.delete();
- }
- if (!refNode.equals(node)) {
- node.delete();
- }
- }
- for (String indexField : indexFieldsToRemove) {
- graphDatabaseContext.getNodeIndex("node").remove(null, indexField, null);
- }
+ removeNodes(graphDatabaseService);
+ clearIndex(graphDatabaseService);
tx.success();
} finally {
tx.finish();
}
}
+
+ private static void removeNodes(GraphDatabaseService graphDatabaseService) {
+ Node refNode = graphDatabaseService.getReferenceNode();
+ for (Node node : graphDatabaseService.getAllNodes()) {
+ for (Relationship rel : node.getRelationships()) {
+ rel.delete();
+ }
+ if (!refNode.equals(node)) {
+ node.delete();
+ }
+ }
+ }
+
+ private static void clearIndex(GraphDatabaseService gds) {
+ IndexManager indexManager = gds.index();
+ for (String ix : indexManager.nodeIndexNames()) {
+ indexManager.forNodes(ix).delete();
+ }
+ for (String ix : indexManager.relationshipIndexNames()) {
+ indexManager.forRelationships(ix).delete();
+ }
+ }
}
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/partial/RecommendationTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/partial/RecommendationTest.java
index e159321b3..42e664b3d 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/partial/RecommendationTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/partial/RecommendationTest.java
@@ -14,6 +14,7 @@ import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.Transactional;
@@ -41,7 +42,7 @@ public class RecommendationTest {
@Autowired
DataSource dataSource;
- @Before
+ @BeforeTransaction
public void cleanDb() {
Neo4jHelper.cleanDb(graphDatabaseContext);
}
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/EntityPropertyValidationTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/EntityPropertyValidationTest.java
index 0cc85e4d7..8ce85f5a3 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/EntityPropertyValidationTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/EntityPropertyValidationTest.java
@@ -2,29 +2,19 @@ package org.springframework.data.graph.neo4j.support;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.DynamicRelationshipType;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Relationship;
-import org.neo4j.helpers.collection.IteratorUtil;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.dao.InvalidDataAccessApiUsageException;
-import org.springframework.data.graph.neo4j.Friendship;
-import org.springframework.data.graph.neo4j.Group;
import org.springframework.data.graph.neo4j.Person;
-import org.springframework.data.graph.neo4j.finder.FinderFactory;
import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
import javax.validation.ValidationException;
-import java.util.*;
import static org.junit.Assert.assertEquals;
@@ -38,7 +28,7 @@ public class EntityPropertyValidationTest {
@Autowired
private GraphDatabaseContext graphDatabaseContext;
- @Before
+ @BeforeTransaction
public void cleanDb() {
Neo4jHelper.cleanDb(graphDatabaseContext);
}
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/FinderTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/FinderTest.java
index 96ecfa741..e14bc3ace 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/FinderTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/FinderTest.java
@@ -6,8 +6,6 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.neo4j.graphdb.NotFoundException;
-import org.neo4j.graphdb.Transaction;
import org.neo4j.helpers.collection.IteratorUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.graph.neo4j.Group;
@@ -18,6 +16,7 @@ import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
@@ -39,10 +38,11 @@ public class FinderTest {
@Autowired
private FinderFactory finderFactory;
- @Before
- public void cleanDb() {
- Neo4jHelper.cleanDb(graphDatabaseContext);
+ @BeforeTransaction
+ public void cleanDb() {
+ Neo4jHelper.cleanDb(graphDatabaseContext);
}
+
@Test
@Transactional
public void testFinderFindAll() {
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/IndexTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/IndexTest.java
index 932b6bf7a..2953bbc03 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/IndexTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/IndexTest.java
@@ -2,7 +2,6 @@ package org.springframework.data.graph.neo4j.support;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
@@ -23,6 +22,7 @@ import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.AfterTransaction;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
@@ -50,31 +50,11 @@ public class IndexTest {
@Autowired
private FinderFactory finderFactory;
- @Before
+ @BeforeTransaction
public void cleanDb() {
Neo4jHelper.cleanDb(graphDatabaseContext);
}
- @AfterTransaction
- public void tearDown() throws Exception {
- GraphDatabaseService gds = graphDatabaseContext.getGraphDatabaseService();
- if (gds != null) {
- clearIndex(gds);
- }
- }
-
- private void clearIndex(GraphDatabaseService gds) {
- org.neo4j.graphdb.Transaction tx = gds.beginTx();
- try {
- for (String ix : gds.index().nodeIndexNames()) {
- gds.index().forNodes(ix).delete();
- }
- tx.success();
- } finally {
- tx.finish();
- }
- }
-
@Test
@Transactional
public void testCanIndexIntFieldsOnRelationshipEntities() {
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/ModificationOutsideOfTransactionTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/ModificationOutsideOfTransactionTest.java
index 8b7980516..74c97bb13 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/ModificationOutsideOfTransactionTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/ModificationOutsideOfTransactionTest.java
@@ -15,7 +15,7 @@ import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.transaction.annotation.Transactional;
+import org.springframework.test.context.transaction.BeforeTransaction;
import static org.junit.Assert.*;
import static org.springframework.data.graph.neo4j.support.HasRelationshipMatcher.hasRelationship;
@@ -35,9 +35,8 @@ public class ModificationOutsideOfTransactionTest
private FinderFactory finderFactory;
@Before
- public void cleanDb()
- {
- Neo4jHelper.cleanDb( graphDatabaseContext );
+ public void cleanDb() {
+ Neo4jHelper.cleanDb(graphDatabaseContext);
}
@Test
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/NodeEntityRelationshipTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/NodeEntityRelationshipTest.java
index 9cf0805c3..caa0b0405 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/NodeEntityRelationshipTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/NodeEntityRelationshipTest.java
@@ -14,11 +14,11 @@ import org.springframework.data.graph.neo4j.Friendship;
import org.springframework.data.graph.neo4j.Group;
import org.springframework.data.graph.neo4j.Person;
import org.springframework.data.graph.neo4j.finder.FinderFactory;
-import org.springframework.data.graph.neo4j.finder.NodeFinder;
import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
@@ -38,9 +38,9 @@ public class NodeEntityRelationshipTest {
@Autowired
private FinderFactory finderFactory;
- @Before
- public void cleanDb() {
- Neo4jHelper.cleanDb(graphDatabaseContext);
+ @BeforeTransaction
+ public void cleanDb() {
+ Neo4jHelper.cleanDb(graphDatabaseContext);
}
@Test
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/NodeEntityTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/NodeEntityTest.java
index f8bbc434d..612959012 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/NodeEntityTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/NodeEntityTest.java
@@ -4,29 +4,21 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.neo4j.graphdb.*;
-import org.neo4j.graphdb.traversal.TraversalDescription;
-import org.neo4j.helpers.collection.IteratorUtil;
-import org.neo4j.kernel.Traversal;
-import org.neo4j.kernel.impl.traversal.TraversalDescriptionImpl;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.data.graph.neo4j.*;
import org.springframework.data.graph.neo4j.finder.FinderFactory;
import org.springframework.data.graph.neo4j.finder.NodeFinder;
-import org.springframework.data.graph.neo4j.finder.RelationshipFinder;
import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
-import java.util.*;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
@@ -43,9 +35,9 @@ import static org.junit.Assert.assertNull;
@Autowired
private FinderFactory finderFactory;
- @Before
- public void cleanDb() {
- Neo4jHelper.cleanDb(graphDatabaseContext);
+ @BeforeTransaction
+ public void cleanDb() {
+ Neo4jHelper.cleanDb(graphDatabaseContext);
}
@Test
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/ProjectionTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/ProjectionTest.java
index fc20e0a77..447baa32b 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/ProjectionTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/ProjectionTest.java
@@ -5,26 +5,18 @@ import org.apache.commons.logging.LogFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.neo4j.graphdb.DynamicRelationshipType;
-import org.neo4j.graphdb.traversal.TraversalDescription;
-import org.neo4j.kernel.Traversal;
-import org.neo4j.kernel.impl.traversal.TraversalDescriptionImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.graph.neo4j.Group;
import org.springframework.data.graph.neo4j.Named;
-import org.springframework.data.graph.neo4j.Person;
import org.springframework.data.graph.neo4j.finder.FinderFactory;
-import org.springframework.data.graph.neo4j.finder.NodeFinder;
import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Collections;
-import java.util.HashSet;
-
import static org.junit.Assert.assertEquals;
@RunWith(SpringJUnit4ClassRunner.class)
@@ -40,10 +32,11 @@ public class ProjectionTest {
@Autowired
private FinderFactory finderFactory;
- @Before
- public void cleanDb() {
- Neo4jHelper.cleanDb(graphDatabaseContext);
+ @BeforeTransaction
+ public void cleanDb() {
+ Neo4jHelper.cleanDb(graphDatabaseContext);
}
+
@Test
@Transactional
public void testProjectGroupToNamed() {
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/PropertyTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/PropertyTest.java
index afd241cac..59b9549de 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/PropertyTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/PropertyTest.java
@@ -6,28 +6,21 @@ import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.neo4j.graphdb.DynamicRelationshipType;
import org.neo4j.graphdb.NotFoundException;
-import org.neo4j.graphdb.traversal.TraversalDescription;
-import org.neo4j.kernel.Traversal;
-import org.neo4j.kernel.impl.traversal.TraversalDescriptionImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.graph.neo4j.Friendship;
-import org.springframework.data.graph.neo4j.Group;
import org.springframework.data.graph.neo4j.Person;
import org.springframework.data.graph.neo4j.Personality;
import org.springframework.data.graph.neo4j.finder.FinderFactory;
-import org.springframework.data.graph.neo4j.finder.NodeFinder;
import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Collections;
import java.util.Date;
-import java.util.HashSet;
import static org.junit.Assert.assertEquals;
@@ -44,9 +37,9 @@ public class PropertyTest {
@Autowired
private FinderFactory finderFactory;
- @Before
- public void cleanDb() {
- Neo4jHelper.cleanDb(graphDatabaseContext);
+ @BeforeTransaction
+ public void cleanDb() {
+ Neo4jHelper.cleanDb(graphDatabaseContext);
}
@Test
@Transactional
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/RelationshipEntityTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/RelationshipEntityTest.java
index 9ea94ec87..df73a5760 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/RelationshipEntityTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/RelationshipEntityTest.java
@@ -2,21 +2,19 @@ package org.springframework.data.graph.neo4j.support;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.neo4j.graphdb.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.graph.neo4j.Friendship;
-import org.springframework.data.graph.neo4j.Group;
import org.springframework.data.graph.neo4j.Person;
import org.springframework.data.graph.neo4j.finder.FinderFactory;
-import org.springframework.data.graph.neo4j.finder.NodeFinder;
import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
import static org.junit.Assert.assertEquals;
@@ -34,9 +32,9 @@ public class RelationshipEntityTest {
@Autowired
private FinderFactory finderFactory;
- @Before
- public void cleanDb() {
- Neo4jHelper.cleanDb(graphDatabaseContext);
+ @BeforeTransaction
+ public void cleanDb() {
+ Neo4jHelper.cleanDb(graphDatabaseContext);
}
@Test
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/SubReferenceNodeTypeStrategyTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/SubReferenceNodeTypeStrategyTest.java
index e6d2c927e..4ec3502fd 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/SubReferenceNodeTypeStrategyTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/SubReferenceNodeTypeStrategyTest.java
@@ -25,6 +25,7 @@ import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
@@ -51,9 +52,14 @@ public class SubReferenceNodeTypeStrategyTest {
private Node thingNode;
private Thing thing;
- @Before
+
+ @BeforeTransaction
public void cleanDb() {
Neo4jHelper.cleanDb(graphDatabaseContext);
+ }
+
+ @Before
+ public void setUp() {
nodeTypeStrategy = graphDatabaseContext.getNodeTypeStrategy();
thingNode = createThing();
}
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/TraversalTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/TraversalTest.java
index 613f01bcd..6f99f7e70 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/TraversalTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/support/TraversalTest.java
@@ -2,13 +2,11 @@ package org.springframework.data.graph.neo4j.support;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.neo4j.graphdb.DynamicRelationshipType;
import org.neo4j.graphdb.traversal.TraversalDescription;
-import org.neo4j.helpers.collection.IteratorUtil;
import org.neo4j.kernel.Traversal;
import org.neo4j.kernel.impl.traversal.TraversalDescriptionImpl;
import org.springframework.beans.factory.annotation.Autowired;
@@ -21,10 +19,9 @@ import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -43,10 +40,11 @@ public class TraversalTest {
@Autowired
private FinderFactory finderFactory;
- @Before
- public void cleanDb() {
- Neo4jHelper.cleanDb(graphDatabaseContext);
+ @BeforeTransaction
+ public void cleanDb() {
+ Neo4jHelper.cleanDb(graphDatabaseContext);
}
+
@Test
@Transactional
public void testTraverseFromGroupToPeople() {
diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/transaction/JOTMIntegrationTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/transaction/JOTMIntegrationTest.java
index b45c00972..0eaf58982 100644
--- a/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/transaction/JOTMIntegrationTest.java
+++ b/spring-data-neo4j/src/test/java/org/springframework/data/graph/neo4j/transaction/JOTMIntegrationTest.java
@@ -12,6 +12,7 @@ import org.neo4j.kernel.Config;
import org.neo4j.kernel.EmbeddedGraphDatabase;
import org.objectweb.jotm.Current;
import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.transaction.jta.JtaTransactionManager;
import org.springframework.transaction.jta.ManagedTransactionAdapter;
@@ -37,38 +38,13 @@ public class JOTMIntegrationTest {
public void setUp() throws Exception {
ctx = new ClassPathXmlApplicationContext("classpath:spring-tx-text-context.xml");
gds = ctx.getBean(GraphDatabaseService.class);
+ Neo4jHelper.cleanDb(gds);
}
@After
public void tearDown() throws Exception {
- if (gds != null) {
- clear(gds);
- }
if (ctx != null) ctx.close();
}
-
- private void clear(GraphDatabaseService gds) {
- org.neo4j.graphdb.Transaction tx = gds.beginTx();
- try {
- for (String ix : gds.index().nodeIndexNames()) {
- gds.index().forNodes(ix).delete();
- }
- for (Node node : gds.getAllNodes()) {
- for (Relationship relationship : node.getRelationships()) {
- relationship.delete();
- }
- }
- Node referenceNode = gds.getReferenceNode();
- for (Node node : gds.getAllNodes()) {
- if (node.equals(referenceNode))
- continue;
- node.delete();
- }
- tx.success();
- } finally {
- tx.finish();
- }
- }
@Test
public void createdNodeShouldBeFoundAfterCommit() throws Exception {
diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/graph/neo4j/partial/Neo4jGraphRecommendationTest-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/graph/neo4j/partial/Neo4jGraphRecommendationTest-context.xml
index 847833ad3..2aa28d11a 100644
--- a/spring-data-neo4j/src/test/resources/org/springframework/data/graph/neo4j/partial/Neo4jGraphRecommendationTest-context.xml
+++ b/spring-data-neo4j/src/test/resources/org/springframework/data/graph/neo4j/partial/Neo4jGraphRecommendationTest-context.xml
@@ -84,7 +84,7 @@
-->
-
diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/graph/neo4j/support/Neo4jGraphPersistenceTest-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/graph/neo4j/support/Neo4jGraphPersistenceTest-context.xml
index b24c8d93e..e1e9fba9b 100644
--- a/spring-data-neo4j/src/test/resources/org/springframework/data/graph/neo4j/support/Neo4jGraphPersistenceTest-context.xml
+++ b/spring-data-neo4j/src/test/resources/org/springframework/data/graph/neo4j/support/Neo4jGraphPersistenceTest-context.xml
@@ -77,7 +77,7 @@
-