diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/mapping/MongoPersistentEntity.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/mapping/MongoPersistentEntity.java index 63b1ff8ac..8fa4e27c0 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/mapping/MongoPersistentEntity.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/mapping/MongoPersistentEntity.java @@ -18,24 +18,42 @@ package org.springframework.data.document.mongodb.mapping; import org.springframework.data.mapping.BasicPersistentEntity; import org.springframework.data.mapping.model.MappingContext; +import org.springframework.data.mapping.model.PersistentEntity; import org.springframework.data.util.TypeInformation; /** + * Mongo specific {@link PersistentEntity} implementation that adds Mongo specific meta-data such as the collection name + * and the like. + * * @author Jon Brisbin + * @author Oliver Gierke */ public class MongoPersistentEntity extends BasicPersistentEntity { protected String collection; - + /** + * Creates a new {@link MongoPersistentEntity} with the given {@link MappingContext} and {@link TypeInformation}. Will + * default the collection name to the entities simple type name. + * + * @param mappingContext + * @param typeInformation + */ public MongoPersistentEntity(MappingContext mappingContext, TypeInformation typeInformation) { super(mappingContext, typeInformation); + this.collection = typeInformation.getType().getSimpleName(); } + /** + * Returns the collection the entity should be stored in. + * + * @return + */ public String getCollection() { return collection; } + public void setCollection(String collection) { this.collection = collection; } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MappingMongoEntityInformation.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MappingMongoEntityInformation.java new file mode 100644 index 000000000..6fef24e04 --- /dev/null +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MappingMongoEntityInformation.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2011 by the original author(s). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.document.mongodb.repository; + +import java.io.Serializable; +import org.springframework.data.document.mongodb.mapping.MongoPersistentEntity; +import org.springframework.data.mapping.MappingBeanHelper; +import org.springframework.data.mapping.model.PersistentProperty; +import org.springframework.data.repository.support.AbstractEntityInformation; + +/** + * {@link MongoEntityInformation} implementation using a {@link MongoPersistentEntity} instance to lookup the necessary + * information. + * + * @author Oliver Gierke + */ +public class MappingMongoEntityInformation extends AbstractEntityInformation + implements MongoEntityInformation { + + private final MongoPersistentEntity entityMetadata; + + /** + * Creates a new {@link MappingMongoEntityInformation} for the given {@link MongoPersistentEntity}. + * + * @param domainClass + * @param entity + */ + public MappingMongoEntityInformation(MongoPersistentEntity entity) { + super(entity.getType()); + this.entityMetadata = entity; + } + + /* (non-Javadoc) + * @see org.springframework.data.repository.support.EntityInformation#getId(java.lang.Object) + */ + public ID getId(T entity) { + + PersistentProperty idProperty = entityMetadata.getIdProperty(); + + try { + return (ID) MappingBeanHelper.getProperty(entity, idProperty, idProperty.getType(), false); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + /* (non-Javadoc) + * @see org.springframework.data.repository.support.EntityInformation#getIdType() + */ + public Class getIdType() { + return (Class) entityMetadata.getIdProperty().getType(); + } + + /* (non-Javadoc) + * @see org.springframework.data.document.mongodb.repository.MongoEntityInformation#getCollectionName() + */ + public String getCollectionName() { + return entityMetadata.getCollection(); + } + + /* (non-Javadoc) + * @see org.springframework.data.document.mongodb.repository.MongoEntityInformation#getIdAttribute() + */ + public String getIdAttribute() { + return "_id"; + } +} diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoEntityInformation.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoEntityInformation.java index 0583a54ba..5d742e89c 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoEntityInformation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoEntityInformation.java @@ -1,11 +1,11 @@ /* - * Copyright (c) 2011 by the original author(s). + * Copyright 2011 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -16,100 +16,27 @@ package org.springframework.data.document.mongodb.repository; import java.io.Serializable; -import java.lang.reflect.Field; -import java.util.Arrays; -import java.util.List; - -import org.springframework.data.repository.support.AbstractEntityInformation; -import org.springframework.util.ReflectionUtils; -import org.springframework.util.StringUtils; +import org.springframework.data.repository.support.EntityInformation; /** - * Expects the domain class to contain a field with a name out of the following - * {@value #FIELD_NAMES}. + * Mongo specific {@link EntityInformation}. * * @author Oliver Gierke */ -class MongoEntityInformation extends AbstractEntityInformation { - - private static final List FIELD_NAMES = Arrays.asList("ID", "id", "_id"); - private Field field; - - - /** - * Creates a new {@link MongoEntityInformation}. - * - * @param domainClass - */ - public MongoEntityInformation(Class domainClass) { - - super(domainClass); - - for (String name : FIELD_NAMES) { - - Field candidate = ReflectionUtils.findField(domainClass, name); - - if (candidate != null) { - ReflectionUtils.makeAccessible(candidate); - this.field = candidate; - break; - } - } - - if (this.field == null) { - throw new IllegalArgumentException(String.format( - "Given domain class %s does not contain an id property!", - domainClass.getName())); - } - } - +interface MongoEntityInformation extends EntityInformation { /** * Returns the name of the collection the entity shall be persisted to. * * @return */ - public String getCollectionName() { - - return StringUtils.uncapitalize(getJavaType().getSimpleName()); - } - + String getCollectionName(); /** * Returns the attribute that the id will be persisted to. * * @return */ - public String getIdAttribute() { - - return "_id"; - } - - - /* - * (non-Javadoc) - * - * @see - * org.springframework.data.repository.support.IdAware#getId(java.lang.Object - * ) - */ - @SuppressWarnings("unchecked") - public ID getId(Object entity) { - - return (ID) ReflectionUtils.getField(field, entity); - } - - - /* - * (non-Javadoc) - * - * @see - * org.springframework.data.repository.support.EntityInformation#getIdType() - */ - @SuppressWarnings("unchecked") - public Class getIdType() { - - return (Class) field.getType(); - } + String getIdAttribute(); } \ No newline at end of file diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoQueryMethod.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoQueryMethod.java index 35c1cfc43..9becbe039 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoQueryMethod.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoQueryMethod.java @@ -18,6 +18,7 @@ package org.springframework.data.document.mongodb.repository; import java.lang.reflect.Method; import org.springframework.core.annotation.AnnotationUtils; +import org.springframework.data.document.mongodb.repository.MongoRepositoryFactoryBean.EntityInformationCreator; import org.springframework.data.repository.query.QueryMethod; import org.springframework.data.repository.util.ClassUtils; import org.springframework.util.StringUtils; @@ -39,10 +40,10 @@ class MongoQueryMethod extends QueryMethod { * @param method */ @SuppressWarnings({ "rawtypes", "unchecked" }) - public MongoQueryMethod(Method method, Class domainClass) { + public MongoQueryMethod(Method method, EntityInformationCreator entityInformationCreator) { super(method); this.method = method; - this.entityInformation = new MongoEntityInformation(ClassUtils.getReturnedDomainClass(method)); + this.entityInformation = entityInformationCreator.getEntityInformation(ClassUtils.getReturnedDomainClass(method)); } /** diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java index fdbd55734..5545db9f6 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryBean.java @@ -23,9 +23,12 @@ import org.slf4j.LoggerFactory; import org.springframework.data.document.mongodb.MongoOperations; import org.springframework.data.document.mongodb.MongoPropertyDescriptors.MongoPropertyDescriptor; import org.springframework.data.document.mongodb.MongoTemplate; +import org.springframework.data.document.mongodb.mapping.MongoPersistentEntity; import org.springframework.data.document.mongodb.query.Index; import org.springframework.data.document.mongodb.query.Order; import org.springframework.data.domain.Sort; +import org.springframework.data.mapping.model.MappingContext; +import org.springframework.data.mapping.model.PersistentEntity; import org.springframework.data.repository.query.QueryLookupStrategy; import org.springframework.data.repository.query.QueryLookupStrategy.Key; import org.springframework.data.repository.query.RepositoryQuery; @@ -47,6 +50,7 @@ public class MongoRepositoryFactoryBean, S, ID RepositoryFactoryBeanSupport { private MongoTemplate template; + private MappingContext mappingContext; /** * Configures the {@link MongoTemplate} to be used. @@ -58,6 +62,15 @@ public class MongoRepositoryFactoryBean, S, ID this.template = template; } + + /** + * Sets the {@link MappingContext} used with the underlying {@link MongoTemplate}. + * + * @param mappingContext the mappingContext to set + */ + public void setMappingContext(MappingContext mappingContext) { + this.mappingContext = mappingContext; + } /* * (non-Javadoc) @@ -69,7 +82,7 @@ public class MongoRepositoryFactoryBean, S, ID @Override protected RepositoryFactorySupport createRepositoryFactory() { - MongoRepositoryFactory factory = new MongoRepositoryFactory(template); + MongoRepositoryFactory factory = new MongoRepositoryFactory(template, mappingContext); factory.addQueryCreationListener(new IndexEnsuringQueryCreationListener(template)); return factory; } @@ -99,15 +112,19 @@ public class MongoRepositoryFactoryBean, S, ID "com.mysema.query.types.Predicate", MongoRepositoryFactory.class.getClassLoader()); private final MongoTemplate template; + private final EntityInformationCreator entityInformationCreator; /** - * Creates a new {@link MongoRepositoryFactory} fwith the given {@link MongoTemplate}. + * Creates a new {@link MongoRepositoryFactory} with the given {@link MongoTemplate} and {@link MappingContext}. * - * @param template + * @param template must not be {@literal null} + * @param mappingContext */ - public MongoRepositoryFactory(MongoTemplate template) { + public MongoRepositoryFactory(MongoTemplate template, MappingContext mappingContext) { + Assert.notNull(template); this.template = template; + this.entityInformationCreator = new EntityInformationCreator(mappingContext); } /* @@ -180,7 +197,7 @@ public class MongoRepositoryFactoryBean, S, ID */ public RepositoryQuery resolveQuery(Method method, Class domainClass) { - MongoQueryMethod queryMethod = new MongoQueryMethod(method, domainClass); + MongoQueryMethod queryMethod = new MongoQueryMethod(method, entityInformationCreator); if (queryMethod.hasAnnotatedQuery()) { return new StringBasedMongoQuery(queryMethod, template); @@ -219,7 +236,33 @@ public class MongoRepositoryFactoryBean, S, ID @Override public MongoEntityInformation getEntityInformation(Class domainClass) { - return new MongoEntityInformation(domainClass); + return entityInformationCreator.getEntityInformation(domainClass); + } + } + + /** + * Simple wrapper to to create {@link MongoEntityInformation} instances based on a {@link MappingContext}. + * + * @author Oliver Gierke + */ + static class EntityInformationCreator { + + private final MappingContext mappingContext; + + public EntityInformationCreator(MappingContext mappingContext) { + this.mappingContext = mappingContext; + } + + public MongoEntityInformation getEntityInformation(Class domainClass) { + if (null == mappingContext) { + return new SimpleMongoEntityInformation(domainClass); + } + + PersistentEntity persistentEntity = mappingContext.getPersistentEntity(domainClass); + if (persistentEntity == null) { + persistentEntity = mappingContext.addPersistentEntity(domainClass); + } + return new MappingMongoEntityInformation((MongoPersistentEntity) persistentEntity); } } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/QueryDslMongoRepository.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/QueryDslMongoRepository.java index 98f023f8f..97594d9e4 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/QueryDslMongoRepository.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/QueryDslMongoRepository.java @@ -76,7 +76,7 @@ public class QueryDslMongoRepository extends /** - * Creates a new {@link QueryDslMongoRepository} for the given domain class, + * Creates a new {@link QueryDslMongoRepository} for the given {@link MongoEntityInformation}, * {@link MongoTemplate} and {@link EntityPathResolver}. * * @param entityInformation diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/SimpleMongoEntityInformation.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/SimpleMongoEntityInformation.java new file mode 100644 index 000000000..5c12a3c65 --- /dev/null +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/SimpleMongoEntityInformation.java @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2011 by the original author(s). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.document.mongodb.repository; + +import java.io.Serializable; +import java.lang.reflect.Field; +import java.util.Arrays; +import java.util.List; + +import org.springframework.data.repository.support.AbstractEntityInformation; +import org.springframework.util.ReflectionUtils; +import org.springframework.util.StringUtils; + + +/** + * Expects the domain class to contain a field with a name out of the following + * {@value #FIELD_NAMES}. + * + * @author Oliver Gierke + */ +class SimpleMongoEntityInformation extends AbstractEntityInformation implements MongoEntityInformation { + + private static final List FIELD_NAMES = Arrays.asList("ID", "id", "_id"); + private Field field; + + + /** + * Creates a new {@link SimpleMongoEntityInformation}. + * + * @param domainClass + */ + public SimpleMongoEntityInformation(Class domainClass) { + + super(domainClass); + + for (String name : FIELD_NAMES) { + + Field candidate = ReflectionUtils.findField(domainClass, name); + + if (candidate != null) { + ReflectionUtils.makeAccessible(candidate); + this.field = candidate; + break; + } + } + + if (this.field == null) { + throw new IllegalArgumentException(String.format( + "Given domain class %s does not contain an id property!", + domainClass.getName())); + } + } + + + /* (non-Javadoc) + * @see org.springframework.data.document.mongodb.repository.MongoEntityInformation#getCollectionName() + */ + public String getCollectionName() { + + return StringUtils.uncapitalize(getJavaType().getSimpleName()); + } + + + /* (non-Javadoc) + * @see org.springframework.data.document.mongodb.repository.MongoEntityInformation#getIdAttribute() + */ + public String getIdAttribute() { + + return "_id"; + } + + + /* + * (non-Javadoc) + * + * @see + * org.springframework.data.repository.support.IdAware#getId(java.lang.Object + * ) + */ + @SuppressWarnings("unchecked") + public ID getId(Object entity) { + + return (ID) ReflectionUtils.getField(field, entity); + } + + + /* + * (non-Javadoc) + * + * @see + * org.springframework.data.repository.support.EntityInformation#getIdType() + */ + @SuppressWarnings("unchecked") + public Class getIdType() { + + return (Class) field.getType(); + } +} \ No newline at end of file diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/SimpleMongoRepository.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/SimpleMongoRepository.java index f362836a6..fae7ce463 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/SimpleMongoRepository.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/repository/SimpleMongoRepository.java @@ -45,7 +45,7 @@ public class SimpleMongoRepository implements Paging private final MongoEntityInformation entityInformation; /** - * Creates a ew {@link SimpleMongoRepository} for the given {@link MongoInformation} and {@link MongoTemplate}. + * Creates a ew {@link SimpleMongoRepository} for the given {@link MongoEntityInformation} and {@link MongoTemplate}. * * @param metadata * @param template diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryUnitTests.java index 1fae42c2c..a9bd73597 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/MongoRepositoryFactoryUnitTests.java @@ -15,12 +15,19 @@ */ package org.springframework.data.document.mongodb.repository; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +import java.io.Serializable; + import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.data.document.mongodb.MongoTemplate; +import org.springframework.data.document.mongodb.mapping.MongoPersistentEntity; import org.springframework.data.document.mongodb.repository.MongoRepositoryFactoryBean.MongoRepositoryFactory; +import org.springframework.data.mapping.model.MappingContext; /** * Unit test for {@link MongoRepositoryFactory}. @@ -33,11 +40,28 @@ public class MongoRepositoryFactoryUnitTests { @Mock MongoTemplate template; + @Mock + MappingContext mappingContext; + @Mock + MongoPersistentEntity entity; + + @Test(expected = IllegalArgumentException.class) public void rejectsInvalidIdType() throws Exception { - MongoRepositoryFactory factory = new MongoRepositoryFactory(template); + MongoRepositoryFactory factory = new MongoRepositoryFactory(template, null); factory.getRepository(SampleRepository.class); } + + @Test + public void usesMappingMongoEntityInformationIfMappingContextSet() { + + when(mappingContext.getPersistentEntity(Person.class)).thenReturn(entity); + when(entity.getType()).thenReturn(Person.class); + + MongoRepositoryFactory factory = new MongoRepositoryFactory(template, mappingContext); + MongoEntityInformation entityInformation = factory.getEntityInformation(Person.class); + assertTrue(entityInformation instanceof MappingMongoEntityInformation); + } private interface SampleRepository extends MongoRepository { diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/MongoEntityMetadataUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/SimpleMongoEntityInformationUnitTests.java similarity index 79% rename from spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/MongoEntityMetadataUnitTests.java rename to spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/SimpleMongoEntityInformationUnitTests.java index aaec1262b..da18dff8a 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/MongoEntityMetadataUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/SimpleMongoEntityInformationUnitTests.java @@ -22,17 +22,17 @@ import org.junit.Test; /** - * Unit test for {@link MongoEntityInformation}. + * Unit test for {@link SimpleMongoEntityInformation}. * * @author Oliver Gierke */ -public class MongoEntityMetadataUnitTests { +public class SimpleMongoEntityInformationUnitTests { @Test public void findsIdField() throws Exception { - MongoEntityInformation isNewAware = - new MongoEntityInformation(Person.class); + SimpleMongoEntityInformation isNewAware = + new SimpleMongoEntityInformation(Person.class); Person person = new Person(); assertThat(isNewAware.isNew(person), is(true)); @@ -44,7 +44,7 @@ public class MongoEntityMetadataUnitTests { @Test(expected = IllegalArgumentException.class) public void rejectsClassIfNoIdField() throws Exception { - new MongoEntityInformation(InvalidPerson.class); + new SimpleMongoEntityInformation(InvalidPerson.class); } class Person { diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/StringBasedMongoQueryUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/StringBasedMongoQueryUnitTests.java index 0a5386247..6e473b3fb 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/StringBasedMongoQueryUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/repository/StringBasedMongoQueryUnitTests.java @@ -15,9 +15,9 @@ */ package org.springframework.data.document.mongodb.repository; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertThat; -import static org.mockito.Mockito.when; +import static org.hamcrest.Matchers.*; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; import java.lang.reflect.Method; @@ -30,6 +30,7 @@ import org.springframework.data.document.mongodb.MongoTemplate; import org.springframework.data.document.mongodb.convert.MongoConverter; import org.springframework.data.document.mongodb.convert.SimpleMongoConverter; import org.springframework.data.document.mongodb.query.BasicQuery; +import org.springframework.data.document.mongodb.repository.MongoRepositoryFactoryBean.EntityInformationCreator; /** * Unit tests for {@link StringBasedMongoQuery}. @@ -52,7 +53,7 @@ public class StringBasedMongoQueryUnitTests { public void testname() throws Exception { Method method = SampleRepository.class.getMethod("findByLastname", String.class); - MongoQueryMethod queryMethod = new MongoQueryMethod(method, Person.class); + MongoQueryMethod queryMethod = new MongoQueryMethod(method, new EntityInformationCreator(null)); StringBasedMongoQuery mongoQuery = new StringBasedMongoQuery(queryMethod, template); ConvertingParameterAccessor accesor = StubParameterAccessor.getAccessor(converter, "Matthews"); diff --git a/spring-data-mongodb/src/test/resources/infrastructure.xml b/spring-data-mongodb/src/test/resources/infrastructure.xml index 0921d9a25..38f275753 100644 --- a/spring-data-mongodb/src/test/resources/infrastructure.xml +++ b/spring-data-mongodb/src/test/resources/infrastructure.xml @@ -12,8 +12,9 @@ + - - + + diff --git a/spring-data-mongodb/src/test/resources/org/springframework/data/document/mongodb/repository/PersonRepositoryIntegrationTests-context.xml b/spring-data-mongodb/src/test/resources/org/springframework/data/document/mongodb/repository/PersonRepositoryIntegrationTests-context.xml index e153ee3f2..704be1467 100644 --- a/spring-data-mongodb/src/test/resources/org/springframework/data/document/mongodb/repository/PersonRepositoryIntegrationTests-context.xml +++ b/spring-data-mongodb/src/test/resources/org/springframework/data/document/mongodb/repository/PersonRepositoryIntegrationTests-context.xml @@ -7,7 +7,20 @@ + + + + + + + + + + + + +