From 0182dbf3c7b175f1532bbe4769e7d029ce24a800 Mon Sep 17 00:00:00 2001 From: Gerrit Meier Date: Thu, 25 Jan 2018 13:15:53 +0100 Subject: [PATCH] DATAGRAPH-1064 - Instantiate OgmEntityInstantiator later. Extract the instantiation of OgmEntityInstantiator after the mapping context got created. Do not require an existing ConversionService but instantiate a fallback to MetaDataDrivenConversionService. (cherry picked from commit 010e336) --- .../Neo4jMappingContextFactoryBean.java | 22 ------------ ...gmEntityInstantiatorConfigurationBean.java | 35 +++++++++++++++++++ ...Neo4jRepositoryConfigurationExtension.java | 14 ++++++-- 3 files changed, 47 insertions(+), 24 deletions(-) create mode 100644 spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/config/Neo4jOgmEntityInstantiatorConfigurationBean.java diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/config/Neo4jMappingContextFactoryBean.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/config/Neo4jMappingContextFactoryBean.java index 50f08b3c3..304cc8300 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/config/Neo4jMappingContextFactoryBean.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/config/Neo4jMappingContextFactoryBean.java @@ -14,19 +14,13 @@ package org.springframework.data.neo4j.repository.config; import org.neo4j.ogm.session.SessionFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.BeansException; -import org.springframework.beans.DirectFieldAccessor; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.ListableBeanFactory; -import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.config.AbstractFactoryBean; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; -import org.springframework.core.convert.ConversionService; import org.springframework.data.neo4j.mapping.Neo4jMappingContext; -import org.springframework.util.ClassUtils; /** * {@link FactoryBean} to setup {@link Neo4jMappingContext} instances from Spring configuration. @@ -37,9 +31,6 @@ import org.springframework.util.ClassUtils; public class Neo4jMappingContextFactoryBean extends AbstractFactoryBean implements ApplicationContextAware { - private static final Logger LOG = LoggerFactory.getLogger(Neo4jMappingContextFactoryBean.class); - private static final boolean HAS_ENTITY_INSTANTIATOR_FEATURE = ClassUtils.isPresent("org.neo4j.ogm.session.EntityInstantiator", - Neo4jMappingContextFactoryBean.class.getClassLoader()); private ListableBeanFactory beanFactory; /* @@ -66,22 +57,9 @@ public class Neo4jMappingContextFactoryBean extends AbstractFactoryBean