diff --git a/.classpath b/.classpath
index 6be1bb234..7c8beb98a 100644
--- a/.classpath
+++ b/.classpath
@@ -2,12 +2,21 @@
+
-
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
@@ -31,8 +40,9 @@
+
-
+
\ No newline at end of file
diff --git a/.project b/.project
index 560ea1236..518fd66e0 100644
--- a/.project
+++ b/.project
@@ -1,11 +1,11 @@
datastore-graph
-
+
+ data-commons
+ datastore-cross-store
+
-
- org.maven.ide.eclipse.maven2Builder
-
org.eclipse.ajdt.core.ajbuilder
@@ -27,10 +27,13 @@
org.springframework.ide.eclipse.core.springbuilder
+
+ org.maven.ide.eclipse.maven2Builder
+
- org.eclipse.jdt.core.javanature
org.maven.ide.eclipse.maven2Nature
+ org.eclipse.jdt.core.javanature
org.eclipse.wst.common.project.facet.core.nature
org.eclipse.ajdt.ui.ajnature
org.eclipse.wst.common.modulecore.ModuleCoreNature
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 113dae8a8..a56d8c88c 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -2,5 +2,10 @@
+
+
+
+
+
diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jNodeBacking.aj b/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jNodeBacking.aj
index 610a0ccdf..7e057ad67 100644
--- a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jNodeBacking.aj
+++ b/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jNodeBacking.aj
@@ -47,10 +47,10 @@ public aspect Neo4jNodeBacking extends AbstractTypeAnnotatingMixinFields relationshipEntityInstantiator;
@Autowired
- public void init(GraphDatabaseService gds, EntityInstantiator gei, EntityInstantiator rei) {
+ public void init(GraphDatabaseService gds, EntityInstantiator graphEntityInstantiator, EntityInstantiator relationshipEntityInstantiator) {
this.graphDatabaseService = gds;
- this.graphEntityInstantiator = gei;
- this.relationshipEntityInstantiator = rei;
+ this.graphEntityInstantiator = graphEntityInstantiator;
+ this.relationshipEntityInstantiator = relationshipEntityInstantiator;
this.fieldAccessorFactory = new FieldAccessorFactory(graphEntityInstantiator, relationshipEntityInstantiator);
}
diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jPersistenceProvider.java b/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jPersistenceProvider.java
index bc0f3fd20..b7797c3eb 100644
--- a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jPersistenceProvider.java
+++ b/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jPersistenceProvider.java
@@ -20,15 +20,15 @@ public class Neo4jPersistenceProvider implements PersistenceProvider {
GraphDatabaseService graphDatabaseService;
@Resource
- EntityInstantiator nodeInstantiator;
+ EntityInstantiator graphEntityInstantiator;
@Override
public EntityManagerFactory createEntityManagerFactory(String emName, Map map) {
- return new Neo4jEntityManagerFactory(graphDatabaseService,nodeInstantiator);
+ return new Neo4jEntityManagerFactory(graphDatabaseService,graphEntityInstantiator);
}
@Override
public EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo info, Map map) {
- return new Neo4jEntityManagerFactory(graphDatabaseService,nodeInstantiator);
+ return new Neo4jEntityManagerFactory(graphDatabaseService,graphEntityInstantiator);
}
}
diff --git a/src/test/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManagerTest.java b/src/test/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManagerTest.java
index 2efd5053e..303fe38bf 100644
--- a/src/test/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManagerTest.java
+++ b/src/test/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManagerTest.java
@@ -10,6 +10,7 @@ import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.PersistenceContext;
+import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -30,7 +31,8 @@ import org.springframework.transaction.annotation.Transactional;
@ContextConfiguration(locations = {"classpath:org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest-context.xml"})
@Transactional
public class Neo4jEntityManagerTest {
- @Resource
+ private static GraphDatabaseService gds;
+ @Resource
GraphDatabaseService graphDatabaseService;
@PersistenceContext(unitName="neo4j-persistence")
EntityManager entityManager;
@@ -43,8 +45,13 @@ public class Neo4jEntityManagerTest {
Neo4jHelper.cleanDb(graphDatabaseService);
node = graphDatabaseService.createNode();
person = new Person(node);
+ gds=graphDatabaseService;
}
+ @AfterClass
+ public static void shutdownDb() {
+ gds.shutdown();
+ }
@Test
public void testPersist() throws Exception {
entityManager.persist(person);
@@ -134,6 +141,7 @@ public class Neo4jEntityManagerTest {
assertTrue(entityManager.getDelegate() instanceof GraphDatabaseService);
}
+ @Ignore("Springs shared EM does not honor the contract of close")
@Test(expected=InvalidDataAccessApiUsageException.class)
public void testClose() throws Exception {
entityManager.close();
@@ -146,6 +154,7 @@ public class Neo4jEntityManagerTest {
assertTrue(entityManager.isOpen());
}
+ @Ignore("Springs shared EM does not allow getTransaction")
@Test
public void testGetTransaction() throws Exception {
final EntityTransaction transaction = entityManager.getTransaction();
diff --git a/src/test/java/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest.java b/src/test/java/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest.java
index f9dc765d2..3d2c8f8d7 100644
--- a/src/test/java/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest.java
+++ b/src/test/java/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest.java
@@ -4,6 +4,7 @@ import junit.framework.Assert;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -40,6 +41,8 @@ import java.util.Set;
@ContextConfiguration
public class Neo4jGraphPersistenceTest {
+ private static GraphDatabaseService gds;
+
protected final Log log = LogFactory.getLog(getClass());
@Autowired
@@ -61,7 +64,12 @@ public class Neo4jGraphPersistenceTest {
@Transactional
public void cleanDb() {
Neo4jHelper.cleanDb(graphDatabaseService);
+ gds=graphDatabaseService;
}
+ @AfterClass
+ public static void shutdownDb() {
+ gds.shutdown();
+ }
@Test
@Transactional
diff --git a/src/test/resources/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest-context.xml b/src/test/resources/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest-context.xml
index 682ba9340..41ad377b5 100644
--- a/src/test/resources/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest-context.xml
+++ b/src/test/resources/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest-context.xml
@@ -78,7 +78,7 @@
-->
+ destroy-method="shutdown">