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">