DATADOC-149 - Removed constructor not taking a MongoDbFactory as well as setter for it from MappingMongoConverter.
This commit is contained in:
@@ -88,15 +88,17 @@ public class MappingMongoConverterParser extends AbstractBeanDefinitionParser {
|
||||
registry.registerBeanDefinition(POST_PROCESSOR, postProcBuilder.getBeanDefinition());
|
||||
}
|
||||
|
||||
BeanDefinitionBuilder converterBuilder = BeanDefinitionBuilder.genericBeanDefinition(MappingMongoConverter.class);
|
||||
converterBuilder.addConstructorArgReference(ctxRef);
|
||||
|
||||
// Need a reference to a Mongo instance
|
||||
String dbFactoryRef = element.getAttribute("db-factory-ref");
|
||||
if (!StringUtils.hasText(dbFactoryRef)) {
|
||||
dbFactoryRef = DB_FACTORY;
|
||||
}
|
||||
converterBuilder.addPropertyReference("mongoDbFactory", dbFactoryRef);
|
||||
|
||||
|
||||
BeanDefinitionBuilder converterBuilder = BeanDefinitionBuilder.genericBeanDefinition(MappingMongoConverter.class);
|
||||
converterBuilder.addConstructorArgReference(dbFactoryRef);
|
||||
converterBuilder.addConstructorArgReference(ctxRef);
|
||||
|
||||
|
||||
try {
|
||||
registry.getBeanDefinition(INDEX_HELPER);
|
||||
@@ -113,7 +115,7 @@ public class MappingMongoConverterParser extends AbstractBeanDefinitionParser {
|
||||
List<Element> customConvertersElements = DomUtils.getChildElementsByTagName(element, "custom-converters");
|
||||
if (customConvertersElements.size() == 1) {
|
||||
Element customerConvertersElement = customConvertersElements.get(0);
|
||||
ManagedList converterBeans = new ManagedList();
|
||||
ManagedList<BeanMetadataElement> converterBeans = new ManagedList<BeanMetadataElement>();
|
||||
List<Element> listenerElements = DomUtils.getChildElementsByTagName(customerConvertersElement, "converter");
|
||||
if (listenerElements != null) {
|
||||
for (Element listenerElement : listenerElements) {
|
||||
|
||||
@@ -94,20 +94,11 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App
|
||||
public MappingMongoConverter(MongoDbFactory mongoDbFactory, MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> mappingContext) {
|
||||
super(ConversionServiceFactory.createDefaultConversionService());
|
||||
Assert.notNull(mappingContext);
|
||||
Assert.notNull(mongoDbFactory);
|
||||
this.mongoDbFactory = mongoDbFactory;
|
||||
this.mappingContext = mappingContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@link MappingMongoConverter} with the given {@link MappingContext}.
|
||||
*
|
||||
* @param mappingContext
|
||||
*/
|
||||
public MappingMongoConverter(
|
||||
MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> mappingContext) {
|
||||
this(null, mappingContext);
|
||||
}
|
||||
|
||||
public MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> getMappingContext() {
|
||||
return mappingContext;
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ public class MongoTemplateTests {
|
||||
PersonWithIdPropertyOfTypeString.class)));
|
||||
mappingContext.afterPropertiesSet();
|
||||
|
||||
MappingMongoConverter converter = new MappingMongoConverter(mappingContext);
|
||||
MappingMongoConverter converter = new MappingMongoConverter(template.getDbFactory(), mappingContext);
|
||||
converter.afterPropertiesSet();
|
||||
|
||||
this.mappingTemplate = new MongoTemplate(template.getDbFactory(), converter);
|
||||
|
||||
@@ -31,6 +31,7 @@ import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.document.mongodb.MongoDbFactory;
|
||||
import org.springframework.data.document.mongodb.mapping.MongoMappingContext;
|
||||
import org.springframework.data.document.mongodb.mapping.MongoPersistentEntity;
|
||||
|
||||
@@ -49,6 +50,8 @@ public class CustomConvertersUnitTests {
|
||||
BarToDBObjectConverter barToDBObjectConverter;
|
||||
@Mock
|
||||
DBObjectToBarConverter dbObjectToBarConverter;
|
||||
@Mock
|
||||
MongoDbFactory mongoDbFactory;
|
||||
|
||||
MongoMappingContext context;
|
||||
MongoPersistentEntity<Foo> fooEntity;
|
||||
@@ -65,7 +68,7 @@ public class CustomConvertersUnitTests {
|
||||
when(barToDBObjectConverter.convert(any(Bar.class))).thenReturn(new BasicDBObject());
|
||||
when(dbObjectToBarConverter.convert(any(DBObject.class))).thenReturn(new Bar());
|
||||
|
||||
converter = new MappingMongoConverter(context);
|
||||
converter = new MappingMongoConverter(mongoDbFactory, context);
|
||||
converter.setCustomConverters(new HashSet<Object>(Arrays.asList(barToDBObjectConverter, dbObjectToBarConverter)));
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,9 @@ import com.mongodb.DBObject;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
import org.springframework.data.document.mongodb.MongoDbFactory;
|
||||
import org.springframework.data.document.mongodb.convert.MappingMongoConverter;
|
||||
import org.springframework.data.document.mongodb.convert.MongoConverter;
|
||||
|
||||
@@ -39,6 +41,9 @@ public class GenericMappingTests {
|
||||
|
||||
MongoMappingContext context;
|
||||
MongoConverter converter;
|
||||
|
||||
@Mock
|
||||
MongoDbFactory factory;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
@@ -46,7 +51,7 @@ public class GenericMappingTests {
|
||||
context.setInitialEntitySet(Collections.singleton(StringWrapper.class));
|
||||
context.afterPropertiesSet();
|
||||
|
||||
converter = new MappingMongoConverter(context);
|
||||
converter = new MappingMongoConverter(factory, context);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -33,8 +33,10 @@ import org.joda.time.LocalDate;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.document.mongodb.MongoDbFactory;
|
||||
import org.springframework.data.document.mongodb.convert.MappingMongoConverter;
|
||||
|
||||
import com.mongodb.BasicDBList;
|
||||
@@ -51,11 +53,13 @@ public class MappingMongoConverterUnitTests {
|
||||
|
||||
MappingMongoConverter converter;
|
||||
MongoMappingContext mappingContext;
|
||||
@Mock
|
||||
MongoDbFactory factory;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mappingContext = new MongoMappingContext();
|
||||
converter = new MappingMongoConverter(mappingContext);
|
||||
converter = new MappingMongoConverter(factory, mappingContext);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -84,7 +88,7 @@ public class MappingMongoConverterUnitTests {
|
||||
customSimpleTypes.add(LocalDate.class);
|
||||
mappingContext.setCustomSimpleTypes(customSimpleTypes);
|
||||
|
||||
converter = new MappingMongoConverter(mappingContext);
|
||||
converter = new MappingMongoConverter(factory, mappingContext);
|
||||
converter.setCustomConverters(converters);
|
||||
converter.afterPropertiesSet();
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
import org.springframework.data.document.mongodb.MongoDbFactory;
|
||||
import org.springframework.data.document.mongodb.MongoTemplate;
|
||||
import org.springframework.data.document.mongodb.convert.MappingMongoConverter;
|
||||
import org.springframework.data.document.mongodb.convert.MongoConverter;
|
||||
@@ -51,11 +52,14 @@ public class StringBasedMongoQueryUnitTests {
|
||||
RepositoryMetadata metadata;
|
||||
@Mock
|
||||
EntityInformationCreator creator;
|
||||
@Mock
|
||||
MongoDbFactory factory;
|
||||
|
||||
MongoConverter converter = new MappingMongoConverter(new MongoMappingContext());
|
||||
MongoConverter converter;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
converter = new MappingMongoConverter(factory, new MongoMappingContext());
|
||||
when(template.getConverter()).thenReturn(converter);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<mongo:db-factory dbname="database"/>
|
||||
|
||||
<bean id="mappingConverter1" class="org.springframework.data.document.mongodb.convert.MappingMongoConverter">
|
||||
<constructor-arg ref="mongoDbFactory" />
|
||||
<constructor-arg ref="mappingContext" />
|
||||
<property name="customConverters">
|
||||
<list>
|
||||
|
||||
Reference in New Issue
Block a user