Skip to content

Commit a77c5b6

Browse files
committed
DATAMONGO-1566 - Adapt API in MongoRepositoryFactoryBean.
Related tickets: DATACMNS-891.
1 parent 5cf8ec3 commit a77c5b6

File tree

5 files changed

+17
-25
lines changed

5 files changed

+17
-25
lines changed

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/MongoRepositoryFactoryBean.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,22 @@
3030
*
3131
* @author Oliver Gierke
3232
*/
33-
public class MongoRepositoryFactoryBean<T extends Repository<S, ID>, S, ID extends Serializable> extends
34-
RepositoryFactoryBeanSupport<T, S, ID> {
33+
public class MongoRepositoryFactoryBean<T extends Repository<S, ID>, S, ID extends Serializable>
34+
extends RepositoryFactoryBeanSupport<T, S, ID> {
3535

3636
private MongoOperations operations;
3737
private boolean createIndexesForQueryMethods = false;
3838
private boolean mappingContextConfigured = false;
3939

40+
/**
41+
* Creates a new {@link MongoRepositoryFactoryBean} for the given repository interface.
42+
*
43+
* @param repositoryInterface must not be {@literal null}.
44+
*/
45+
public MongoRepositoryFactoryBean(Class<? extends T> repositoryInterface) {
46+
super(repositoryInterface);
47+
}
48+
4049
/**
4150
* Configures the {@link MongoOperations} to be used.
4251
*

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/performance/PerformanceTests.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@ public void setUp() throws Exception {
9898
this.converter = new MappingMongoConverter(new DefaultDbRefResolver(mongoDbFactory), context);
9999
this.operations = new MongoTemplate(new SimpleMongoDbFactory(this.mongo, DATABASE_NAME), converter);
100100

101-
MongoRepositoryFactoryBean<PersonRepository, Person, ObjectId> factory = new MongoRepositoryFactoryBean<PersonRepository, Person, ObjectId>();
101+
MongoRepositoryFactoryBean<PersonRepository, Person, ObjectId> factory = new MongoRepositoryFactoryBean<PersonRepository, Person, ObjectId>(
102+
PersonRepository.class);
102103
factory.setMongoOperations(operations);
103-
factory.setRepositoryInterface(PersonRepository.class);
104104
factory.afterPropertiesSet();
105105

106106
this.repository = factory.getObject();

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/config/MongoRepositoriesRegistrarIntegrationTests.java

-16
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,6 @@
1515
*/
1616
package org.springframework.data.mongodb.repository.config;
1717

18-
import static org.hamcrest.CoreMatchers.*;
19-
import static org.junit.Assert.*;
20-
21-
import java.util.Arrays;
22-
2318
import org.junit.Test;
2419
import org.junit.runner.RunWith;
2520
import org.springframework.beans.factory.annotation.Autowired;
@@ -59,15 +54,4 @@ public MongoOperations mongoTemplate() throws Exception {
5954

6055
@Test
6156
public void testConfiguration() {}
62-
63-
/**
64-
* @see DATAMONGO-901
65-
*/
66-
@Test
67-
public void registersTypePredictingPostProcessor() {
68-
69-
Iterable<String> beanNames = Arrays.asList(context.getBeanDefinitionNames());
70-
71-
assertThat(beanNames, hasItem(containsString("RepositoryFactoryBeanSupport_Predictor")));
72-
}
7357
}

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/support/MongoRepositoryFactoryBeanUnitTests.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public class MongoRepositoryFactoryBeanUnitTests {
4848
@SuppressWarnings("rawtypes")
4949
public void addsIndexEnsuringQueryCreationListenerIfConfigured() {
5050

51-
MongoRepositoryFactoryBean factory = new MongoRepositoryFactoryBean();
51+
MongoRepositoryFactoryBean factory = new MongoRepositoryFactoryBean(ContactRepository.class);
5252
factory.setCreateIndexesForQueryMethods(true);
5353

5454
List<Object> listeners = getListenersFromFactory(factory);
@@ -60,7 +60,7 @@ public void addsIndexEnsuringQueryCreationListenerIfConfigured() {
6060
@SuppressWarnings("rawtypes")
6161
public void doesNotAddIndexEnsuringQueryCreationListenerByDefault() {
6262

63-
List<Object> listeners = getListenersFromFactory(new MongoRepositoryFactoryBean());
63+
List<Object> listeners = getListenersFromFactory(new MongoRepositoryFactoryBean(ContactRepository.class));
6464
assertThat(listeners.size(), is(1));
6565
}
6666

@@ -72,7 +72,6 @@ private List<Object> getListenersFromFactory(MongoRepositoryFactoryBean factoryB
7272

7373
factoryBean.setLazyInit(true);
7474
factoryBean.setMongoOperations(operations);
75-
factoryBean.setRepositoryInterface(ContactRepository.class);
7675
factoryBean.afterPropertiesSet();
7776

7877
RepositoryFactorySupport factory = factoryBean.createRepositoryFactory();

spring-data-mongodb/src/test/resources/org/springframework/data/mongodb/repository/PersonRepositoryIntegrationTests-context.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
</bean>
1818

1919
<bean class="org.springframework.data.mongodb.repository.support.MongoRepositoryFactoryBean">
20+
<constructor-arg value="org.springframework.data.mongodb.repository.PersonRepository"/>
2021
<property name="mongoOperations" ref="mongoTemplate"/>
21-
<property name="repositoryInterface" value="org.springframework.data.mongodb.repository.PersonRepository"/>
2222
<property name="namedQueries">
2323
<bean class="org.springframework.data.repository.core.support.PropertiesBasedNamedQueries">
2424
<constructor-arg>
@@ -34,5 +34,5 @@
3434
<bean class="org.springframework.data.mongodb.repository.SampleEvaluationContextExtension"/>
3535
</constructor-arg>
3636
</bean>
37-
37+
3838
</beans>

0 commit comments

Comments
 (0)