From e254dedd96241f92808f0a89cc0b4d254c7785f1 Mon Sep 17 00:00:00 2001 From: "J. Brisbin" Date: Fri, 11 Mar 2011 16:06:09 -0600 Subject: [PATCH] Tweaks to BasicMappingContext to remove a circular reference --- .../data/mapping/BasicMappingConfigurationBuilder.java | 8 +------- .../springframework/data/mapping/BasicMappingContext.java | 4 ++-- .../data/mapping/model/MappingConfigurationBuilder.java | 2 +- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingConfigurationBuilder.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingConfigurationBuilder.java index 40f691aa9..7283b1ca0 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingConfigurationBuilder.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingConfigurationBuilder.java @@ -41,12 +41,6 @@ public class BasicMappingConfigurationBuilder implements MappingConfigurationBui protected static ConcurrentMap, BeanInfo> beanInfo = new ConcurrentHashMap, BeanInfo>(); protected Logger log = LoggerFactory.getLogger(getClass()); - protected MappingContext mappingContext; - - public BasicMappingConfigurationBuilder(MappingContext mappingContext) { - this.mappingContext = mappingContext; - } - @Override public boolean isPersistentEntity(Class type) { if (type.isAnnotationPresent(Persistent.class)) { @@ -68,7 +62,7 @@ public class BasicMappingConfigurationBuilder implements MappingConfigurationBui @SuppressWarnings({"unchecked"}) @Override - public PersistentEntity createPersistentEntity(Class type) throws MappingConfigurationException { + public PersistentEntity createPersistentEntity(Class type, MappingContext mappingContext) throws MappingConfigurationException { return new BasicPersistentEntity(mappingContext, type); } diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingContext.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingContext.java index 70e3e9b8b..e354d5151 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingContext.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BasicMappingContext.java @@ -51,7 +51,7 @@ public class BasicMappingContext implements MappingContext, InitializingBean { protected GenericConversionService conversionService = ConversionServiceFactory.createDefaultConversionService(); public BasicMappingContext() { - builder = new BasicMappingConfigurationBuilder(this); + builder = new BasicMappingConfigurationBuilder(); } public BasicMappingContext(MappingConfigurationBuilder builder) { @@ -83,7 +83,7 @@ public class BasicMappingContext implements MappingContext, InitializingBean { public PersistentEntity addPersistentEntity(Class type) { if (null == persistentEntities.get(type.getName())) { try { - PersistentEntity entity = builder.createPersistentEntity(type); + PersistentEntity entity = builder.createPersistentEntity(type, this); BeanInfo info = Introspector.getBeanInfo(type); Map descriptors = new HashMap(); diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/MappingConfigurationBuilder.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/MappingConfigurationBuilder.java index a1278b570..23f79acd9 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/MappingConfigurationBuilder.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/MappingConfigurationBuilder.java @@ -26,7 +26,7 @@ public interface MappingConfigurationBuilder { boolean isPersistentEntity(Class clazz); - PersistentEntity createPersistentEntity(Class clazz) throws MappingConfigurationException; + PersistentEntity createPersistentEntity(Class clazz, MappingContext mappingContext) throws MappingConfigurationException; boolean isPersistentProperty(Field field, PropertyDescriptor descriptor) throws MappingConfigurationException;