Skip to content

Commit ea62cf0

Browse files
authored
Adopt to deprecation removals in Commons.
Original Pull Request #3051 Closes #3050 Signed-off-by: Peter-Josef Meisch <[email protected]>
1 parent cb77b32 commit ea62cf0

23 files changed

+130
-140
lines changed

src/main/java/org/springframework/data/elasticsearch/repository/query/AbstractElasticsearchRepositoryQuery.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
import org.springframework.data.elasticsearch.core.query.DeleteQuery;
2626
import org.springframework.data.elasticsearch.core.query.Query;
2727
import org.springframework.data.elasticsearch.core.query.SearchTemplateQuery;
28+
import org.springframework.data.expression.ValueEvaluationContextProvider;
2829
import org.springframework.data.repository.query.ParametersParameterAccessor;
2930
import org.springframework.data.repository.query.QueryMethod;
30-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
3131
import org.springframework.data.repository.query.RepositoryQuery;
3232
import org.springframework.data.repository.query.ResultProcessor;
3333
import org.springframework.data.util.StreamUtils;
@@ -50,11 +50,11 @@ public abstract class AbstractElasticsearchRepositoryQuery implements Repository
5050
protected ElasticsearchQueryMethod queryMethod;
5151
protected final ElasticsearchOperations elasticsearchOperations;
5252
protected final ElasticsearchConverter elasticsearchConverter;
53-
protected final QueryMethodEvaluationContextProvider evaluationContextProvider;
53+
protected final ValueEvaluationContextProvider evaluationContextProvider;
5454

5555
public AbstractElasticsearchRepositoryQuery(ElasticsearchQueryMethod queryMethod,
5656
ElasticsearchOperations elasticsearchOperations,
57-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
57+
ValueEvaluationContextProvider evaluationContextProvider) {
5858

5959
Assert.notNull(queryMethod, "queryMethod must not be null");
6060
Assert.notNull(elasticsearchOperations, "elasticsearchOperations must not be null");

src/main/java/org/springframework/data/elasticsearch/repository/query/AbstractReactiveElasticsearchRepositoryQuery.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.springframework.data.elasticsearch.repository.query;
1717

18+
import org.springframework.data.expression.ValueEvaluationContextProvider;
1819
import reactor.core.publisher.Flux;
1920
import reactor.core.publisher.Mono;
2021

@@ -52,11 +53,11 @@ abstract class AbstractReactiveElasticsearchRepositoryQuery implements Repositor
5253

5354
protected final ReactiveElasticsearchQueryMethod queryMethod;
5455
private final ReactiveElasticsearchOperations elasticsearchOperations;
55-
protected final QueryMethodEvaluationContextProvider evaluationContextProvider;
56+
protected final ValueEvaluationContextProvider evaluationContextProvider;
5657

5758
AbstractReactiveElasticsearchRepositoryQuery(ReactiveElasticsearchQueryMethod queryMethod,
5859
ReactiveElasticsearchOperations elasticsearchOperations,
59-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
60+
ValueEvaluationContextProvider evaluationContextProvider) {
6061

6162
Assert.notNull(queryMethod, "queryMethod must not be null");
6263
Assert.notNull(elasticsearchOperations, "elasticsearchOperations must not be null");

src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchPartQuery.java

+4-8
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,7 @@
1616
package org.springframework.data.elasticsearch.repository.query;
1717

1818
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
19-
import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentProperty;
20-
import org.springframework.data.elasticsearch.core.query.BaseQuery;
21-
import org.springframework.data.elasticsearch.repository.query.parser.ElasticsearchQueryCreator;
22-
import org.springframework.data.mapping.context.MappingContext;
23-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
24-
import org.springframework.data.repository.query.parser.PartTree;
19+
import org.springframework.data.repository.query.ValueExpressionDelegate;
2520

2621
/**
2722
* ElasticsearchPartQuery
@@ -37,7 +32,8 @@
3732
*/
3833
@Deprecated(forRemoval = true)
3934
public class ElasticsearchPartQuery extends RepositoryPartQuery {
40-
public ElasticsearchPartQuery(ElasticsearchQueryMethod method, ElasticsearchOperations elasticsearchOperations, QueryMethodEvaluationContextProvider evaluationContextProvider) {
41-
super(method, elasticsearchOperations, evaluationContextProvider);
35+
public ElasticsearchPartQuery(ElasticsearchQueryMethod method, ElasticsearchOperations elasticsearchOperations,
36+
ValueExpressionDelegate valueExpressionDelegate) {
37+
super(method, elasticsearchOperations, valueExpressionDelegate);
4238
}
4339
}

src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchQueryMethod.java

+4-10
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import org.springframework.data.elasticsearch.core.query.ScriptedField;
4545
import org.springframework.data.elasticsearch.core.query.SourceFilter;
4646
import org.springframework.data.elasticsearch.repository.support.QueryStringProcessor;
47+
import org.springframework.data.expression.ValueEvaluationContextProvider;
4748
import org.springframework.data.mapping.context.MappingContext;
4849
import org.springframework.data.projection.ProjectionFactory;
4950
import org.springframework.data.repository.core.RepositoryMetadata;
@@ -105,13 +106,6 @@ public ElasticsearchQueryMethod(Method method, RepositoryMetadata repositoryMeta
105106
verifyCountQueryTypes();
106107
}
107108

108-
@SuppressWarnings("removal")
109-
@Override
110-
@Deprecated
111-
protected Parameters<?, ?> createParameters(Method method, TypeInformation<?> domainType) {
112-
return new ElasticsearchParameters(ParametersSource.of(method));
113-
}
114-
115109
@Override
116110
protected Parameters<?, ?> createParameters(ParametersSource parametersSource) {
117111
return new ElasticsearchParameters(parametersSource);
@@ -331,7 +325,7 @@ public boolean hasCountQueryAnnotation() {
331325
@Nullable
332326
SourceFilter getSourceFilter(ElasticsearchParametersParameterAccessor parameterAccessor,
333327
ElasticsearchConverter converter,
334-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
328+
ValueEvaluationContextProvider evaluationContextProvider) {
335329

336330
if (sourceFilters == null || (sourceFilters.includes().length == 0 && sourceFilters.excludes().length == 0)) {
337331
return null;
@@ -354,7 +348,7 @@ SourceFilter getSourceFilter(ElasticsearchParametersParameterAccessor parameterA
354348
}
355349

356350
private String[] mapParameters(String[] source, ElasticsearchParametersParameterAccessor parameterAccessor,
357-
ConversionService conversionService, QueryMethodEvaluationContextProvider evaluationContextProvider) {
351+
ConversionService conversionService, ValueEvaluationContextProvider evaluationContextProvider) {
358352

359353
List<String> fieldNames = new ArrayList<>();
360354

@@ -407,7 +401,7 @@ private Class<?> potentiallyUnwrapReturnTypeFor(RepositoryMetadata metadata, Met
407401

408402
void addSpecialMethodParameters(BaseQuery query, ElasticsearchParametersParameterAccessor parameterAccessor,
409403
ElasticsearchConverter elasticsearchConverter,
410-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
404+
ValueEvaluationContextProvider evaluationContextProvider) {
411405

412406
if (hasAnnotatedHighlight()) {
413407
var highlightQuery = getAnnotatedHighlightQuery(new HighlightConverter(parameterAccessor,

src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchStringQuery.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
package org.springframework.data.elasticsearch.repository.query;
1717

1818
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
19-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
19+
import org.springframework.data.repository.query.ValueExpressionDelegate;
2020

2121
/**
2222
* ElasticsearchStringQuery
@@ -32,7 +32,7 @@
3232
@Deprecated(since = "5.5", forRemoval = true)
3333
public class ElasticsearchStringQuery extends RepositoryStringQuery {
3434
public ElasticsearchStringQuery(ElasticsearchQueryMethod queryMethod, ElasticsearchOperations elasticsearchOperations,
35-
String queryString, QueryMethodEvaluationContextProvider evaluationContextProvider) {
36-
super(queryMethod, elasticsearchOperations, queryString, evaluationContextProvider);
35+
String queryString, ValueExpressionDelegate valueExpressionDelegate) {
36+
super(queryMethod, elasticsearchOperations, queryString, valueExpressionDelegate);
3737
}
3838
}

src/main/java/org/springframework/data/elasticsearch/repository/query/HighlightConverter.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
import org.springframework.data.elasticsearch.core.query.highlight.HighlightField;
2626
import org.springframework.data.elasticsearch.core.query.highlight.HighlightParameters;
2727
import org.springframework.data.elasticsearch.repository.support.QueryStringProcessor;
28+
import org.springframework.data.expression.ValueEvaluationContextProvider;
2829
import org.springframework.data.repository.query.QueryMethod;
29-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
3030
import org.springframework.util.Assert;
3131

3232
/**
@@ -38,13 +38,13 @@ public class HighlightConverter {
3838

3939
private final ElasticsearchParametersParameterAccessor parameterAccessor;
4040
private final ConversionService conversionService;
41-
private final QueryMethodEvaluationContextProvider evaluationContextProvider;
41+
private final ValueEvaluationContextProvider evaluationContextProvider;
4242
private final QueryMethod queryMethod;
4343

4444
HighlightConverter(ElasticsearchParametersParameterAccessor parameterAccessor,
45-
ConversionService conversionService,
46-
QueryMethodEvaluationContextProvider evaluationContextProvider,
47-
QueryMethod queryMethod) {
45+
ConversionService conversionService,
46+
ValueEvaluationContextProvider evaluationContextProvider,
47+
QueryMethod queryMethod) {
4848

4949
Assert.notNull(parameterAccessor, "parameterAccessor must not be null");
5050
Assert.notNull(conversionService, "conversionService must not be null");

src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchQueryMethod.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
*/
1616
package org.springframework.data.elasticsearch.repository.query;
1717

18-
import static org.springframework.data.repository.util.ClassUtils.*;
19-
2018
import reactor.core.publisher.Mono;
2119

2220
import java.lang.reflect.Method;
@@ -36,6 +34,7 @@
3634
import org.springframework.data.repository.util.ReactiveWrapperConverters;
3735
import org.springframework.data.util.Lazy;
3836
import org.springframework.data.util.ReactiveWrappers;
37+
import org.springframework.data.util.ReflectionUtils;
3938
import org.springframework.data.util.TypeInformation;
4039
import org.springframework.util.ClassUtils;
4140

@@ -55,7 +54,7 @@ public ReactiveElasticsearchQueryMethod(Method method, RepositoryMetadata metada
5554

5655
super(method, metadata, factory, mappingContext);
5756

58-
if (hasParameterOfType(method, Pageable.class)) {
57+
if (ReflectionUtils.hasParameterOfType(method, Pageable.class)) {
5958

6059
TypeInformation<?> returnType = TypeInformation.fromReturnTypeOf(method);
6160
boolean multiWrapper = ReactiveWrappers.isMultiValueType(returnType.getType());
@@ -75,7 +74,7 @@ public ReactiveElasticsearchQueryMethod(Method method, RepositoryMetadata metada
7574
method));
7675
}
7776

78-
if (hasParameterOfType(method, Sort.class)) {
77+
if (ReflectionUtils.hasParameterOfType(method, Sort.class)) {
7978
throw new IllegalStateException(String.format("Method must not have Pageable *and* Sort parameter. "
8079
+ "Use sorting capabilities on Pageable instead! Offending method: %s", method));
8180
}

src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveElasticsearchStringQuery.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
package org.springframework.data.elasticsearch.repository.query;
1717

1818
import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations;
19-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
19+
import org.springframework.data.repository.query.ValueExpressionDelegate;
2020

2121
/**
2222
* @author Christoph Strobl
@@ -29,12 +29,12 @@
2929
public class ReactiveElasticsearchStringQuery extends ReactiveRepositoryStringQuery {
3030

3131
public ReactiveElasticsearchStringQuery(ReactiveElasticsearchQueryMethod queryMethod,
32-
ReactiveElasticsearchOperations operations, QueryMethodEvaluationContextProvider evaluationContextProvider) {
33-
super(queryMethod, operations, evaluationContextProvider);
32+
ReactiveElasticsearchOperations operations, ValueExpressionDelegate valueExpressionDelegate) {
33+
super(queryMethod, operations, valueExpressionDelegate);
3434
}
3535

3636
public ReactiveElasticsearchStringQuery(String query, ReactiveElasticsearchQueryMethod queryMethod,
37-
ReactiveElasticsearchOperations operations, QueryMethodEvaluationContextProvider evaluationContextProvider) {
38-
super(query, queryMethod, operations, evaluationContextProvider);
37+
ReactiveElasticsearchOperations operations, ValueExpressionDelegate valueExpressionDelegate) {
38+
super(query, queryMethod, operations, valueExpressionDelegate);
3939
}
4040
}

src/main/java/org/springframework/data/elasticsearch/repository/query/ReactivePartTreeElasticsearchQuery.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
import org.springframework.data.elasticsearch.core.query.BaseQuery;
2020
import org.springframework.data.elasticsearch.core.query.CriteriaQuery;
2121
import org.springframework.data.elasticsearch.repository.query.parser.ElasticsearchQueryCreator;
22-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
2322
import org.springframework.data.repository.query.ResultProcessor;
23+
import org.springframework.data.repository.query.ValueExpressionDelegate;
2424
import org.springframework.data.repository.query.parser.PartTree;
2525

2626
/**
@@ -35,8 +35,9 @@ public class ReactivePartTreeElasticsearchQuery extends AbstractReactiveElastics
3535

3636
public ReactivePartTreeElasticsearchQuery(ReactiveElasticsearchQueryMethod queryMethod,
3737
ReactiveElasticsearchOperations elasticsearchOperations,
38-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
39-
super(queryMethod, elasticsearchOperations, evaluationContextProvider);
38+
ValueExpressionDelegate valueExpressionDelegate) {
39+
super(queryMethod, elasticsearchOperations,
40+
valueExpressionDelegate.createValueContextProvider(queryMethod.getParameters()));
4041

4142
ResultProcessor processor = queryMethod.getResultProcessor();
4243
this.tree = new PartTree(queryMethod.getName(), processor.getReturnedType().getDomainType());

src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveRepositorySearchTemplateQuery.java

+9-8
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@
1818
import java.util.LinkedHashMap;
1919
import java.util.Map;
2020

21-
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
2221
import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations;
2322
import org.springframework.data.elasticsearch.core.query.BaseQuery;
2423
import org.springframework.data.elasticsearch.core.query.SearchTemplateQuery;
25-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
24+
import org.springframework.data.repository.query.ValueExpressionDelegate;
2625
import org.springframework.util.Assert;
2726

2827
/**
@@ -37,9 +36,11 @@ public class ReactiveRepositorySearchTemplateQuery extends AbstractReactiveElast
3736
private Map<String, Object> params;
3837

3938
public ReactiveRepositorySearchTemplateQuery(ReactiveElasticsearchQueryMethod queryMethod,
40-
ReactiveElasticsearchOperations elasticsearchOperations, QueryMethodEvaluationContextProvider evaluationContextProvider,
41-
String id) {
42-
super(queryMethod, elasticsearchOperations, evaluationContextProvider);
39+
ReactiveElasticsearchOperations elasticsearchOperations,
40+
ValueExpressionDelegate valueExpressionDelegate,
41+
String id) {
42+
super(queryMethod, elasticsearchOperations,
43+
valueExpressionDelegate.createValueContextProvider(queryMethod.getParameters()));
4344
Assert.hasLength(id, "id must not be null or empty");
4445
this.id = id;
4546
}
@@ -84,9 +85,9 @@ protected BaseQuery createQuery(ElasticsearchParametersParameterAccessor paramet
8485
}
8586
});
8687

87-
return SearchTemplateQuery.builder()
88-
.withId(id)
89-
.withParams(searchTemplateParameters)
88+
return SearchTemplateQuery.builder()
89+
.withId(id)
90+
.withParams(searchTemplateParameters)
9091
.build();
9192
}
9293
}

src/main/java/org/springframework/data/elasticsearch/repository/query/ReactiveRepositoryStringQuery.java

+6-7
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@
2121
import org.springframework.data.elasticsearch.core.query.StringQuery;
2222
import org.springframework.data.elasticsearch.repository.support.QueryStringProcessor;
2323
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
24+
import org.springframework.data.repository.query.ValueExpressionDelegate;
2425
import org.springframework.util.Assert;
2526

2627
/**
2728
* Was originally named ReactiveElasticsearchStringQuery.
29+
*
2830
* @author Christoph Strobl
2931
* @author Taylor Ono
3032
* @author Haibo Liu
@@ -33,23 +35,20 @@
3335
public class ReactiveRepositoryStringQuery extends AbstractReactiveElasticsearchRepositoryQuery {
3436

3537
private final String query;
36-
private final QueryMethodEvaluationContextProvider evaluationContextProvider;
3738

3839
public ReactiveRepositoryStringQuery(ReactiveElasticsearchQueryMethod queryMethod,
39-
ReactiveElasticsearchOperations operations, QueryMethodEvaluationContextProvider evaluationContextProvider) {
40+
ReactiveElasticsearchOperations operations, ValueExpressionDelegate valueExpressionDelegate) {
4041

41-
this(queryMethod.getAnnotatedQuery(), queryMethod, operations, evaluationContextProvider);
42+
this(queryMethod.getAnnotatedQuery(), queryMethod, operations, valueExpressionDelegate);
4243
}
4344

4445
public ReactiveRepositoryStringQuery(String query, ReactiveElasticsearchQueryMethod queryMethod,
45-
ReactiveElasticsearchOperations operations, QueryMethodEvaluationContextProvider evaluationContextProvider) {
46-
super(queryMethod, operations, evaluationContextProvider);
46+
ReactiveElasticsearchOperations operations, ValueExpressionDelegate valueExpressionDelegate) {
47+
super(queryMethod, operations, valueExpressionDelegate.createValueContextProvider(queryMethod.getParameters()));
4748

4849
Assert.notNull(query, "query must not be null");
49-
Assert.notNull(evaluationContextProvider, "evaluationContextProvider must not be null");
5050

5151
this.query = query;
52-
this.evaluationContextProvider = evaluationContextProvider;
5352
}
5453

5554
@Override

src/main/java/org/springframework/data/elasticsearch/repository/query/RepositoryPartQuery.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
import org.springframework.data.elasticsearch.core.query.BaseQuery;
2121
import org.springframework.data.elasticsearch.repository.query.parser.ElasticsearchQueryCreator;
2222
import org.springframework.data.mapping.context.MappingContext;
23-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
23+
import org.springframework.data.repository.query.ValueExpressionDelegate;
2424
import org.springframework.data.repository.query.parser.PartTree;
2525

2626
/**
27-
* A repository query that is built from the the method name in the repository definition.
28-
* Was originally named ElasticsearchPartQuery.
27+
* A repository query that is built from the the method name in the repository definition. Was originally named
28+
* ElasticsearchPartQuery.
2929
*
3030
* @author Rizwan Idrees
3131
* @author Mohsin Husen
@@ -41,8 +41,9 @@ public class RepositoryPartQuery extends AbstractElasticsearchRepositoryQuery {
4141
private final MappingContext<?, ElasticsearchPersistentProperty> mappingContext;
4242

4343
public RepositoryPartQuery(ElasticsearchQueryMethod method, ElasticsearchOperations elasticsearchOperations,
44-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
45-
super(method, elasticsearchOperations, evaluationContextProvider);
44+
ValueExpressionDelegate valueExpressionDelegate) {
45+
super(method, elasticsearchOperations,
46+
valueExpressionDelegate.createValueContextProvider(method.getParameters()));
4647
this.tree = new PartTree(queryMethod.getName(), queryMethod.getResultProcessor().getReturnedType().getDomainType());
4748
this.mappingContext = elasticsearchConverter.getMappingContext();
4849
}

src/main/java/org/springframework/data/elasticsearch/repository/query/RepositorySearchTemplateQuery.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
2222
import org.springframework.data.elasticsearch.core.query.BaseQuery;
2323
import org.springframework.data.elasticsearch.core.query.SearchTemplateQuery;
24-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
24+
import org.springframework.data.repository.query.ValueExpressionDelegate;
2525
import org.springframework.util.Assert;
2626

2727
/**
@@ -36,9 +36,10 @@ public class RepositorySearchTemplateQuery extends AbstractElasticsearchReposito
3636
private Map<String, Object> params;
3737

3838
public RepositorySearchTemplateQuery(ElasticsearchQueryMethod queryMethod,
39-
ElasticsearchOperations elasticsearchOperations, QueryMethodEvaluationContextProvider evaluationContextProvider,
39+
ElasticsearchOperations elasticsearchOperations, ValueExpressionDelegate valueExpressionDelegate,
4040
String id) {
41-
super(queryMethod, elasticsearchOperations, evaluationContextProvider);
41+
super(queryMethod, elasticsearchOperations,
42+
valueExpressionDelegate.createValueContextProvider(queryMethod.getParameters()));
4243
Assert.hasLength(id, "id must not be null or empty");
4344
this.id = id;
4445
}
@@ -78,9 +79,9 @@ protected BaseQuery createQuery(ElasticsearchParametersParameterAccessor paramet
7879
}
7980
});
8081

81-
return SearchTemplateQuery.builder()
82-
.withId(id)
83-
.withParams(searchTemplateParameters)
82+
return SearchTemplateQuery.builder()
83+
.withId(id)
84+
.withParams(searchTemplateParameters)
8485
.build();
8586
}
8687
}

0 commit comments

Comments
 (0)