diff --git a/spring-data-neo4j-cross-store/src/main/java/org/springframework/data/neo4j/cross_store/config/CrossStoreNeo4jConfiguration.java b/spring-data-neo4j-cross-store/src/main/java/org/springframework/data/neo4j/cross_store/config/CrossStoreNeo4jConfiguration.java index 16a093fb9..f7217251e 100644 --- a/spring-data-neo4j-cross-store/src/main/java/org/springframework/data/neo4j/cross_store/config/CrossStoreNeo4jConfiguration.java +++ b/spring-data-neo4j-cross-store/src/main/java/org/springframework/data/neo4j/cross_store/config/CrossStoreNeo4jConfiguration.java @@ -66,7 +66,7 @@ public class CrossStoreNeo4jConfiguration extends Neo4jAspectConfiguration { } @Bean - public PlatformTransactionManager transactionManager() { + public PlatformTransactionManager neo4jTransactionManager() { if (isUsingCrossStorePersistence()) { JpaTransactionManager jpaTm = new JpaTransactionManager(getEntityManagerFactory()); JtaTransactionManager jtaTm = createJtaTransactionManager(); diff --git a/spring-data-neo4j-examples/myrestaurants-social/pom.xml b/spring-data-neo4j-examples/myrestaurants-social/pom.xml index 2119a5a12..341715247 100644 --- a/spring-data-neo4j-examples/myrestaurants-social/pom.xml +++ b/spring-data-neo4j-examples/myrestaurants-social/pom.xml @@ -95,6 +95,13 @@ flexjson 2.0 + + org.neo4j + neo4j-kernel + 1.5-SNAPSHOT + test-jar + test + org.springframework diff --git a/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/RestaurantRepositoryTest.java b/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/RestaurantRepositoryTest.java index 919600266..cf7ca06df 100644 --- a/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/RestaurantRepositoryTest.java +++ b/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/RestaurantRepositoryTest.java @@ -1,29 +1,25 @@ package com.springone.myrestaurants.data; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; - +import com.springone.myrestaurants.domain.Restaurant; import junit.framework.Assert; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.neo4j.support.GraphDatabaseContext; import org.springframework.data.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.PlatformTransactionManager; import org.springframework.transaction.annotation.Transactional; -import com.springone.myrestaurants.domain.Restaurant; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import java.util.List; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration diff --git a/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/UserAccountRelationshipsTest.java b/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/UserAccountRelationshipsTest.java index ae702f9e8..89422cb5e 100644 --- a/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/UserAccountRelationshipsTest.java +++ b/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/UserAccountRelationshipsTest.java @@ -1,12 +1,10 @@ package com.springone.myrestaurants.data; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Set; - +import com.springone.myrestaurants.domain.Recommendation; +import com.springone.myrestaurants.domain.Restaurant; +import com.springone.myrestaurants.domain.UserAccount; import junit.framework.Assert; - +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -15,9 +13,9 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.annotation.Transactional; -import com.springone.myrestaurants.domain.Recommendation; -import com.springone.myrestaurants.domain.Restaurant; -import com.springone.myrestaurants.domain.UserAccount; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration diff --git a/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/UserAccountRepositoryTest.java b/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/UserAccountRepositoryTest.java index e7992e792..6f154d01b 100644 --- a/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/UserAccountRepositoryTest.java +++ b/spring-data-neo4j-examples/myrestaurants-social/src/test/java/com/springone/myrestaurants/data/UserAccountRepositoryTest.java @@ -1,32 +1,19 @@ package com.springone.myrestaurants.data; -import java.util.Date; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.EntityTransaction; -import javax.persistence.PersistenceContext; -import javax.persistence.PersistenceUnit; - +import com.springone.myrestaurants.domain.UserAccount; import junit.framework.Assert; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; 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.AfterTransaction; -import org.springframework.test.context.transaction.BeforeTransaction; -import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.Transactional; -import com.springone.myrestaurants.domain.UserAccount; +import javax.persistence.EntityManager; +import javax.persistence.EntityTransaction; +import java.util.Date; +import java.util.List; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/EntityStateHandler.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/EntityStateHandler.java index 449c49156..3853b936c 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/EntityStateHandler.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/EntityStateHandler.java @@ -51,6 +51,9 @@ public class EntityStateHandler { public boolean isManaged(Object entity) { return entity instanceof ManagedEntity; } + public boolean isManaged(Class type) { + return ManagedEntity.class.isAssignableFrom(type); + } @SuppressWarnings("unchecked") public S getPersistentState(Object entity) { diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jNodeConverterTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jNodeConverterTest.java index ee3e35415..8e1d9d996 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jNodeConverterTest.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jNodeConverterTest.java @@ -379,4 +379,5 @@ public class Neo4jNodeConverterTest { final Node michaelNode = getRelatedNodes(groupNode, "persons", Direction.OUTGOING).get(0); assertEquals("added member to group", michael.getId(), (Long) michaelNode.getId()); } + } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/model/Person.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/model/Person.java index ea287f980..b9738de78 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/model/Person.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/model/Person.java @@ -76,7 +76,7 @@ public class Person { @Query(value = "start person=node({self}) match (person)<-[?:boss]-(boss) return boss.name") private String bossName; - @Query(value = "start person=node({self}) match (person)<-[:persons]-(team)-[:persons]->(member) return member",elementClass = Person.class) + @Query(value = "start person=node({self}) match (person)<-[:persons]-(team)-[:persons]->(member) return member") private Iterable otherTeamMembers; @Query(value = "start person=node({self}) match (person)<-[:persons]-(team)-[:persons]->(member) return member.name, member.age") diff --git a/src/docbkx/reference/programming-model/aspectj.xml b/src/docbkx/reference/programming-model/aspectj.xml index 4245c6435..e98d6f7ef 100644 --- a/src/docbkx/reference/programming-model/aspectj.xml +++ b/src/docbkx/reference/programming-model/aspectj.xml @@ -54,6 +54,10 @@ Try editing the build path to include **/*.aj for the spring-data-neo4j project. You can do this by selecting "Build Path -> Configure Build Path ..." from the Package Explorer. Then for the spring-data-neo4j/src/main/java add **/*.aj to the Included path. + + For importing an Spring Data Graph project into Eclipse with m2e. + Please make sure that the AspectJ Configurator is installed and +