From 97be90ca0a01700adbd7421245b66e753b85d506 Mon Sep 17 00:00:00 2001 From: Michael Hunger Date: Wed, 10 Aug 2011 15:18:13 +0200 Subject: [PATCH] nodeDelegatingFieldAccessorFactory as overridable bean definition changed concrete type NodeDelegatingFieldAccessorFactory to DelegatingFieldAccessorFactory --- .../data/neo4j/config/Neo4jConfiguration.java | 19 +++++++++++-------- .../neo4j/support/node/NodeEntityState.java | 4 ++-- .../support/node/NodeEntityStateFactory.java | 6 +++--- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jConfiguration.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jConfiguration.java index 85d33651f..2f6ddbde3 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jConfiguration.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jConfiguration.java @@ -30,18 +30,19 @@ import org.springframework.core.convert.ConversionService; import org.springframework.dao.support.PersistenceExceptionTranslator; import org.springframework.data.neo4j.core.NodeBacked; import org.springframework.data.neo4j.core.RelationshipBacked; +import org.springframework.data.neo4j.fieldaccess.DelegatingFieldAccessorFactory; import org.springframework.data.neo4j.fieldaccess.Neo4jConversionServiceFactoryBean; import org.springframework.data.neo4j.fieldaccess.NodeDelegatingFieldAccessorFactory; import org.springframework.data.neo4j.repository.DirectGraphRepositoryFactory; -import org.springframework.data.neo4j.support.node.NodeEntityStateFactory; -import org.springframework.data.neo4j.support.relationship.RelationshipEntityStateFactory; import org.springframework.data.neo4j.support.GraphDatabaseContext; -import org.springframework.data.neo4j.support.typerepresentation.TypeRepresentationStrategyFactory; import org.springframework.data.neo4j.support.node.Neo4jNodeBacking; import org.springframework.data.neo4j.support.node.NodeEntityInstantiator; +import org.springframework.data.neo4j.support.node.NodeEntityStateFactory; import org.springframework.data.neo4j.support.node.PartialNodeEntityInstantiator; import org.springframework.data.neo4j.support.relationship.Neo4jRelationshipBacking; import org.springframework.data.neo4j.support.relationship.RelationshipEntityInstantiator; +import org.springframework.data.neo4j.support.relationship.RelationshipEntityStateFactory; +import org.springframework.data.neo4j.support.typerepresentation.TypeRepresentationStrategyFactory; import org.springframework.data.neo4j.template.Neo4jExceptionTranslator; import org.springframework.data.neo4j.transaction.ChainedTransactionManager; import org.springframework.data.persistence.EntityInstantiator; @@ -162,17 +163,19 @@ public class Neo4jConfiguration { @Bean public NodeEntityStateFactory nodeEntityStateFactory() throws Exception { - final GraphDatabaseContext graphDatabaseContext = graphDatabaseContext(); - final DirectGraphRepositoryFactory graphRepositoryFactory = directGraphRepositoryFactory(); NodeEntityStateFactory entityStateFactory = new NodeEntityStateFactory(); - entityStateFactory.setGraphDatabaseContext(graphDatabaseContext); + entityStateFactory.setGraphDatabaseContext(graphDatabaseContext()); entityStateFactory.setEntityManagerFactory(entityManagerFactory); - final NodeDelegatingFieldAccessorFactory nodeDelegatingFieldAccessorFactory = new NodeDelegatingFieldAccessorFactory(graphDatabaseContext); - entityStateFactory.setNodeDelegatingFieldAccessorFactory(nodeDelegatingFieldAccessorFactory); + entityStateFactory.setNodeDelegatingFieldAccessorFactory(nodeDelegatingFieldAccessorFactory()); return entityStateFactory; } + @Bean + public DelegatingFieldAccessorFactory nodeDelegatingFieldAccessorFactory() throws Exception { + return new NodeDelegatingFieldAccessorFactory(graphDatabaseContext()); + } + @Bean public PlatformTransactionManager transactionManager() { if (isUsingCrossStorePersistence()) { diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/node/NodeEntityState.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/node/NodeEntityState.java index 0f854b868..f6e396dcd 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/node/NodeEntityState.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/node/NodeEntityState.java @@ -21,7 +21,7 @@ import org.neo4j.graphdb.NotInTransactionException; import org.springframework.dao.InvalidDataAccessResourceUsageException; import org.springframework.data.neo4j.core.NodeBacked; import org.springframework.data.neo4j.fieldaccess.DefaultEntityState; -import org.springframework.data.neo4j.fieldaccess.NodeDelegatingFieldAccessorFactory; +import org.springframework.data.neo4j.fieldaccess.DelegatingFieldAccessorFactory; import org.springframework.data.neo4j.support.GraphDatabaseContext; /** @@ -32,7 +32,7 @@ public class NodeEntityState extends DefaultEntitySta private final GraphDatabaseContext graphDatabaseContext; - public NodeEntityState(final Node underlyingState, final ENTITY entity, final Class type, final GraphDatabaseContext graphDatabaseContext, final NodeDelegatingFieldAccessorFactory nodeDelegatingFieldAccessorFactory) { + public NodeEntityState(final Node underlyingState, final ENTITY entity, final Class type, final GraphDatabaseContext graphDatabaseContext, final DelegatingFieldAccessorFactory nodeDelegatingFieldAccessorFactory) { super(underlyingState, entity, type, nodeDelegatingFieldAccessorFactory); this.graphDatabaseContext = graphDatabaseContext; } diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/node/NodeEntityStateFactory.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/node/NodeEntityStateFactory.java index a7559a251..f304c58d6 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/node/NodeEntityStateFactory.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/node/NodeEntityStateFactory.java @@ -20,8 +20,8 @@ import org.neo4j.graphdb.Node; import org.springframework.data.neo4j.annotation.NodeEntity; import org.springframework.data.neo4j.core.EntityState; import org.springframework.data.neo4j.core.NodeBacked; +import org.springframework.data.neo4j.fieldaccess.DelegatingFieldAccessorFactory; import org.springframework.data.neo4j.fieldaccess.DetachedEntityState; -import org.springframework.data.neo4j.fieldaccess.NodeDelegatingFieldAccessorFactory; import org.springframework.data.neo4j.support.GraphDatabaseContext; import javax.annotation.PostConstruct; @@ -34,7 +34,7 @@ public class NodeEntityStateFactory { private EntityManagerFactory entityManagerFactory; - private NodeDelegatingFieldAccessorFactory nodeDelegatingFieldAccessorFactory; + private DelegatingFieldAccessorFactory nodeDelegatingFieldAccessorFactory; private PartialNodeEntityState.PartialNodeDelegatingFieldAccessorFactory delegatingFieldAccessorFactory; @@ -61,7 +61,7 @@ public class NodeEntityStateFactory { } public void setNodeDelegatingFieldAccessorFactory( - NodeDelegatingFieldAccessorFactory nodeDelegatingFieldAccessorFactory) { + DelegatingFieldAccessorFactory nodeDelegatingFieldAccessorFactory) { this.nodeDelegatingFieldAccessorFactory = nodeDelegatingFieldAccessorFactory; }