Skip to content

Commit beac4af

Browse files
committed
DATAMONGO-1444 - Polishing.
Removed unused references to ConversionService from repository query implementations.
1 parent 735e230 commit beac4af

File tree

5 files changed

+28
-58
lines changed

5 files changed

+28
-58
lines changed

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/AbstractReactiveMongoQuery.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
*/
1616
package org.springframework.data.mongodb.repository.query;
1717

18+
import reactor.core.publisher.Flux;
19+
import reactor.core.publisher.Mono;
20+
1821
import org.reactivestreams.Publisher;
19-
import org.springframework.core.convert.ConversionService;
2022
import org.springframework.core.convert.converter.Converter;
2123
import org.springframework.data.convert.EntityInstantiators;
2224
import org.springframework.data.mongodb.core.MongoOperations;
@@ -32,12 +34,8 @@
3234
import org.springframework.data.repository.query.ParameterAccessor;
3335
import org.springframework.data.repository.query.RepositoryQuery;
3436
import org.springframework.data.repository.query.ResultProcessor;
35-
import org.springframework.data.repository.util.ReactiveWrapperConverters;
3637
import org.springframework.util.Assert;
3738

38-
import reactor.core.publisher.Flux;
39-
import reactor.core.publisher.Mono;
40-
4139
/**
4240
* Base class for reactive {@link RepositoryQuery} implementations for MongoDB.
4341
*
@@ -57,10 +55,8 @@ public abstract class AbstractReactiveMongoQuery implements RepositoryQuery {
5755
*
5856
* @param method must not be {@literal null}.
5957
* @param operations must not be {@literal null}.
60-
* @param conversionService must not be {@literal null}.
6158
*/
62-
public AbstractReactiveMongoQuery(ReactiveMongoQueryMethod method, ReactiveMongoOperations operations,
63-
ConversionService conversionService) {
59+
public AbstractReactiveMongoQuery(ReactiveMongoQueryMethod method, ReactiveMongoOperations operations) {
6460

6561
Assert.notNull(method, "MongoQueryMethod must not be null!");
6662
Assert.notNull(operations, "ReactiveMongoOperations must not be null!");

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactivePartTreeMongoQuery.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,11 @@
1616
package org.springframework.data.mongodb.repository.query;
1717

1818
import org.bson.Document;
19-
import org.springframework.core.convert.ConversionService;
2019
import org.springframework.data.mapping.context.MappingContext;
2120
import org.springframework.data.mongodb.core.MongoTemplate;
2221
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
2322
import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
2423
import org.springframework.data.mongodb.core.query.BasicQuery;
25-
import org.springframework.data.mongodb.core.query.Field;
2624
import org.springframework.data.mongodb.core.query.Query;
2725
import org.springframework.data.mongodb.core.query.TextCriteria;
2826
import org.springframework.data.repository.query.QueryMethod;
@@ -53,11 +51,10 @@ public class ReactivePartTreeMongoQuery extends AbstractReactiveMongoQuery {
5351
*
5452
* @param method must not be {@literal null}.
5553
* @param mongoOperations must not be {@literal null}.
56-
* @param conversionService must not be {@literal null}.
5754
*/
58-
public ReactivePartTreeMongoQuery(ReactiveMongoQueryMethod method, ReactiveMongoOperations mongoOperations, ConversionService conversionService) {
55+
public ReactivePartTreeMongoQuery(ReactiveMongoQueryMethod method, ReactiveMongoOperations mongoOperations) {
5956

60-
super(method, mongoOperations, conversionService);
57+
super(method, mongoOperations);
6158

6259
this.processor = method.getResultProcessor();
6360
this.tree = new PartTree(method.getName(), processor.getReturnedType().getDomainType());

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactiveStringBasedMongoQuery.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import org.slf4j.Logger;
2222
import org.slf4j.LoggerFactory;
23-
import org.springframework.core.convert.ConversionService;
2423
import org.springframework.data.mongodb.core.MongoOperations;
2524
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
2625
import org.springframework.data.mongodb.core.query.BasicQuery;
@@ -54,17 +53,17 @@ public class ReactiveStringBasedMongoQuery extends AbstractReactiveMongoQuery {
5453
private final ExpressionEvaluatingParameterBinder parameterBinder;
5554

5655
/**
57-
* Creates a new {@link ReactiveStringBasedMongoQuery} for the given {@link MongoQueryMethod} and {@link MongoOperations}.
56+
* Creates a new {@link ReactiveStringBasedMongoQuery} for the given {@link MongoQueryMethod} and
57+
* {@link MongoOperations}.
5858
*
5959
* @param method must not be {@literal null}.
6060
* @param mongoOperations must not be {@literal null}.
6161
* @param expressionParser must not be {@literal null}.
6262
* @param evaluationContextProvider must not be {@literal null}.
63-
* @param conversionService must not be {@literal null}.
6463
*/
6564
public ReactiveStringBasedMongoQuery(ReactiveMongoQueryMethod method, ReactiveMongoOperations mongoOperations,
66-
SpelExpressionParser expressionParser, EvaluationContextProvider evaluationContextProvider, ConversionService conversionService) {
67-
this(method.getAnnotatedQuery(), method, mongoOperations, expressionParser, evaluationContextProvider, conversionService);
65+
SpelExpressionParser expressionParser, EvaluationContextProvider evaluationContextProvider) {
66+
this(method.getAnnotatedQuery(), method, mongoOperations, expressionParser, evaluationContextProvider);
6867
}
6968

7069
/**
@@ -75,12 +74,12 @@ public ReactiveStringBasedMongoQuery(ReactiveMongoQueryMethod method, ReactiveMo
7574
* @param method must not be {@literal null}.
7675
* @param mongoOperations must not be {@literal null}.
7776
* @param expressionParser must not be {@literal null}.
78-
* @param conversionService must not be {@literal null}.
7977
*/
80-
public ReactiveStringBasedMongoQuery(String query, ReactiveMongoQueryMethod method, ReactiveMongoOperations mongoOperations,
81-
SpelExpressionParser expressionParser, EvaluationContextProvider evaluationContextProvider, ConversionService conversionService) {
78+
public ReactiveStringBasedMongoQuery(String query, ReactiveMongoQueryMethod method,
79+
ReactiveMongoOperations mongoOperations, SpelExpressionParser expressionParser,
80+
EvaluationContextProvider evaluationContextProvider) {
8281

83-
super(method, mongoOperations, conversionService);
82+
super(method, mongoOperations);
8483

8584
Assert.notNull(query, "Query must not be null!");
8685
Assert.notNull(expressionParser, "SpelExpressionParser must not be null!");

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

Lines changed: 11 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,21 @@
1515
*/
1616
package org.springframework.data.mongodb.repository.support;
1717

18+
import lombok.AccessLevel;
19+
import lombok.RequiredArgsConstructor;
20+
1821
import java.io.Serializable;
1922
import java.lang.reflect.Method;
2023
import java.util.Arrays;
2124

2225
import org.reactivestreams.Publisher;
23-
import org.springframework.core.convert.ConversionService;
24-
import org.springframework.core.convert.support.DefaultConversionService;
2526
import org.springframework.dao.InvalidDataAccessApiUsageException;
2627
import org.springframework.data.mapping.context.MappingContext;
2728
import org.springframework.data.mapping.model.MappingException;
2829
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
2930
import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
3031
import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
3132
import org.springframework.data.mongodb.repository.query.MongoEntityInformation;
32-
import org.springframework.data.mongodb.repository.query.MongoQueryMethod;
3333
import org.springframework.data.mongodb.repository.query.PartTreeMongoQuery;
3434
import org.springframework.data.mongodb.repository.query.ReactiveMongoQueryMethod;
3535
import org.springframework.data.mongodb.repository.query.ReactivePartTreeMongoQuery;
@@ -43,7 +43,6 @@
4343
import org.springframework.data.repository.query.QueryLookupStrategy;
4444
import org.springframework.data.repository.query.QueryLookupStrategy.Key;
4545
import org.springframework.data.repository.query.RepositoryQuery;
46-
import org.springframework.data.repository.util.QueryExecutionConverters;
4746
import org.springframework.data.repository.util.ReactiveWrapperConverters;
4847
import org.springframework.data.repository.util.ReactiveWrappers;
4948
import org.springframework.expression.spel.standard.SpelExpressionParser;
@@ -55,6 +54,7 @@
5554
*
5655
* @author Mark Paluch
5756
* @author Christoph Strobl
57+
* @author Oliver Gierke
5858
* @since 2.0
5959
*/
6060
public class ReactiveMongoRepositoryFactory extends RepositoryFactorySupport {
@@ -63,7 +63,6 @@ public class ReactiveMongoRepositoryFactory extends RepositoryFactorySupport {
6363

6464
private final ReactiveMongoOperations operations;
6565
private final MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> mappingContext;
66-
private final ConversionService conversionService;
6766

6867
/**
6968
* Creates a new {@link ReactiveMongoRepositoryFactory} with the given {@link ReactiveMongoOperations}.
@@ -76,12 +75,6 @@ public ReactiveMongoRepositoryFactory(ReactiveMongoOperations mongoOperations) {
7675

7776
this.operations = mongoOperations;
7877
this.mappingContext = mongoOperations.getConverter().getMappingContext();
79-
80-
DefaultConversionService conversionService = new DefaultConversionService();
81-
ReactiveWrapperConverters.registerConvertersIn(conversionService);
82-
83-
this.conversionService = conversionService;
84-
setConversionService(conversionService);
8578
}
8679

8780
/*
@@ -111,7 +104,7 @@ protected Object getTargetRepository(RepositoryInformation information) {
111104
*/
112105
@Override
113106
protected QueryLookupStrategy getQueryLookupStrategy(Key key, EvaluationContextProvider evaluationContextProvider) {
114-
return new MongoQueryLookupStrategy(operations, evaluationContextProvider, mappingContext, conversionService);
107+
return new MongoQueryLookupStrategy(operations, evaluationContextProvider, mappingContext);
115108
}
116109

117110
/*
@@ -131,7 +124,7 @@ protected void validate(RepositoryMetadata repositoryMetadata) {
131124

132125
if (!ReactiveWrappers.isAvailable()) {
133126
throw new InvalidDataAccessApiUsageException(
134-
String.format("Cannot implement Repository %s without reactive library support.",
127+
String.format("Cannot implement repository %s without reactive library support.",
135128
repositoryMetadata.getRepositoryInterface().getName()));
136129
}
137130

@@ -189,22 +182,12 @@ private <T, ID extends Serializable> MongoEntityInformation<T, ID> getEntityInfo
189182
*
190183
* @author Mark Paluch
191184
*/
185+
@RequiredArgsConstructor(access = AccessLevel.PACKAGE)
192186
private static class MongoQueryLookupStrategy implements QueryLookupStrategy {
193187

194188
private final ReactiveMongoOperations operations;
195189
private final EvaluationContextProvider evaluationContextProvider;
196-
MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> mappingContext;
197-
final ConversionService conversionService;
198-
199-
MongoQueryLookupStrategy(ReactiveMongoOperations operations, EvaluationContextProvider evaluationContextProvider,
200-
MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> mappingContext,
201-
ConversionService conversionService) {
202-
203-
this.operations = operations;
204-
this.evaluationContextProvider = evaluationContextProvider;
205-
this.mappingContext = mappingContext;
206-
this.conversionService = conversionService;
207-
}
190+
private final MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> mappingContext;
208191

209192
/*
210193
* (non-Javadoc)
@@ -220,12 +203,11 @@ public RepositoryQuery resolveQuery(Method method, RepositoryMetadata metadata,
220203
if (namedQueries.hasQuery(namedQueryName)) {
221204
String namedQuery = namedQueries.getQuery(namedQueryName);
222205
return new ReactiveStringBasedMongoQuery(namedQuery, queryMethod, operations, EXPRESSION_PARSER,
223-
evaluationContextProvider, conversionService);
206+
evaluationContextProvider);
224207
} else if (queryMethod.hasAnnotatedQuery()) {
225-
return new ReactiveStringBasedMongoQuery(queryMethod, operations, EXPRESSION_PARSER, evaluationContextProvider,
226-
conversionService);
208+
return new ReactiveStringBasedMongoQuery(queryMethod, operations, EXPRESSION_PARSER, evaluationContextProvider);
227209
} else {
228-
return new ReactivePartTreeMongoQuery(queryMethod, operations, conversionService);
210+
return new ReactivePartTreeMongoQuery(queryMethod, operations);
229211
}
230212
}
231213
}

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

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
import static org.springframework.data.mongodb.core.query.Query.*;
2020
import static org.springframework.util.Assert.*;
2121

22+
import reactor.core.publisher.Flux;
23+
import reactor.core.publisher.Mono;
24+
2225
import java.text.DecimalFormat;
2326
import java.util.ArrayList;
2427
import java.util.Arrays;
@@ -39,7 +42,6 @@
3942
import org.junit.Before;
4043
import org.junit.Test;
4144
import org.springframework.core.Constants;
42-
import org.springframework.core.convert.support.GenericConversionService;
4345
import org.springframework.data.annotation.PersistenceConstructor;
4446
import org.springframework.data.mongodb.core.ReactiveMongoOperations;
4547
import org.springframework.data.mongodb.core.ReactiveMongoTemplate;
@@ -68,9 +70,6 @@
6870
import com.mongodb.reactivestreams.client.MongoCollection;
6971
import com.mongodb.reactivestreams.client.MongoDatabase;
7072

71-
import reactor.core.publisher.Flux;
72-
import reactor.core.publisher.Mono;
73-
7473
/**
7574
* Test class to execute performance tests for plain Reactive Streams MongoDB driver usage,
7675
* {@link ReactiveMongoOperations} and the repositories abstraction.
@@ -131,10 +130,7 @@ public List<Document> bulkFetch(List<DBRef> dbRefs) {
131130
operations = new ReactiveMongoTemplate(mongoDbFactory, converter);
132131

133132
ReactiveMongoRepositoryFactory factory = new ReactiveMongoRepositoryFactory(operations);
134-
factory.setConversionService(new GenericConversionService());
135-
136133
repository = factory.getRepository(ReactivePersonRepository.class);
137-
138134
}
139135

140136
/**

0 commit comments

Comments
 (0)