Skip to content

Commit d916818

Browse files
mp911deschauder
authored andcommitted
Adopt to deprecation removals in Commons.
Closes #1944
1 parent bf0a8d3 commit d916818

File tree

10 files changed

+32
-162
lines changed

10 files changed

+32
-162
lines changed

spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/StringBasedJdbcQuery.java

+2-69
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,16 @@
3030
import org.springframework.beans.BeanInstantiationException;
3131
import org.springframework.beans.BeanUtils;
3232
import org.springframework.beans.factory.BeanFactory;
33-
import org.springframework.core.env.StandardEnvironment;
3433
import org.springframework.data.expression.ValueEvaluationContext;
35-
import org.springframework.data.expression.ValueExpressionParser;
3634
import org.springframework.data.jdbc.core.convert.JdbcColumnTypes;
3735
import org.springframework.data.jdbc.core.convert.JdbcConverter;
3836
import org.springframework.data.jdbc.core.mapping.JdbcValue;
3937
import org.springframework.data.jdbc.support.JdbcUtil;
4038
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
4139
import org.springframework.data.relational.repository.query.RelationalParameterAccessor;
4240
import org.springframework.data.relational.repository.query.RelationalParametersParameterAccessor;
43-
import org.springframework.data.repository.query.CachingValueExpressionDelegate;
4441
import org.springframework.data.repository.query.Parameter;
4542
import org.springframework.data.repository.query.Parameters;
46-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
47-
import org.springframework.data.repository.query.QueryMethodValueEvaluationContextAccessor;
4843
import org.springframework.data.repository.query.ResultProcessor;
4944
import org.springframework.data.repository.query.ValueExpressionDelegate;
5045
import org.springframework.data.repository.query.ValueExpressionQueryRewriter;
@@ -87,43 +82,6 @@ public class StringBasedJdbcQuery extends AbstractJdbcQuery {
8782
private final CachedResultSetExtractorFactory cachedResultSetExtractorFactory;
8883
private final ValueExpressionDelegate delegate;
8984

90-
/**
91-
* Creates a new {@link StringBasedJdbcQuery} for the given {@link JdbcQueryMethod}, {@link RelationalMappingContext}
92-
* and {@link RowMapper}.
93-
*
94-
* @param queryMethod must not be {@literal null}.
95-
* @param operations must not be {@literal null}.
96-
* @param defaultRowMapper can be {@literal null} (only in case of a modifying query).
97-
* @deprecated since 3.4, use the constructors accepting {@link ValueExpressionDelegate} instead.
98-
*/
99-
@Deprecated(since = "3.4")
100-
public StringBasedJdbcQuery(JdbcQueryMethod queryMethod, NamedParameterJdbcOperations operations,
101-
@Nullable RowMapper<?> defaultRowMapper, JdbcConverter converter,
102-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
103-
this(queryMethod.getRequiredQuery(), queryMethod, operations, result -> (RowMapper<Object>) defaultRowMapper,
104-
converter, evaluationContextProvider);
105-
}
106-
107-
/**
108-
* Creates a new {@link StringBasedJdbcQuery} for the given {@link JdbcQueryMethod}, {@link RelationalMappingContext}
109-
* and {@link RowMapperFactory}.
110-
*
111-
* @param queryMethod must not be {@literal null}.
112-
* @param operations must not be {@literal null}.
113-
* @param rowMapperFactory must not be {@literal null}.
114-
* @param converter must not be {@literal null}.
115-
* @param evaluationContextProvider must not be {@literal null}.
116-
* @since 2.3
117-
* @deprecated use alternative constructor
118-
*/
119-
@Deprecated(since = "3.4")
120-
public StringBasedJdbcQuery(JdbcQueryMethod queryMethod, NamedParameterJdbcOperations operations,
121-
RowMapperFactory rowMapperFactory, JdbcConverter converter,
122-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
123-
this(queryMethod.getRequiredQuery(), queryMethod, operations, rowMapperFactory, converter,
124-
evaluationContextProvider);
125-
}
126-
12785
/**
12886
* Creates a new {@link StringBasedJdbcQuery} for the given {@link JdbcQueryMethod}, {@link RelationalMappingContext}
12987
* and {@link RowMapperFactory}.
@@ -136,8 +94,7 @@ public StringBasedJdbcQuery(JdbcQueryMethod queryMethod, NamedParameterJdbcOpera
13694
* @since 3.4
13795
*/
13896
public StringBasedJdbcQuery(JdbcQueryMethod queryMethod, NamedParameterJdbcOperations operations,
139-
RowMapperFactory rowMapperFactory, JdbcConverter converter,
140-
ValueExpressionDelegate delegate) {
97+
RowMapperFactory rowMapperFactory, JdbcConverter converter, ValueExpressionDelegate delegate) {
14198
this(queryMethod.getRequiredQuery(), queryMethod, operations, rowMapperFactory, converter, delegate);
14299
}
143100

@@ -154,8 +111,7 @@ public StringBasedJdbcQuery(JdbcQueryMethod queryMethod, NamedParameterJdbcOpera
154111
* @since 3.4
155112
*/
156113
public StringBasedJdbcQuery(String query, JdbcQueryMethod queryMethod, NamedParameterJdbcOperations operations,
157-
RowMapperFactory rowMapperFactory, JdbcConverter converter,
158-
ValueExpressionDelegate delegate) {
114+
RowMapperFactory rowMapperFactory, JdbcConverter converter, ValueExpressionDelegate delegate) {
159115
super(queryMethod, operations);
160116
Assert.hasText(query, "Query must not be null or empty");
161117
Assert.notNull(rowMapperFactory, "RowMapperFactory must not be null");
@@ -191,29 +147,6 @@ public StringBasedJdbcQuery(String query, JdbcQueryMethod queryMethod, NamedPara
191147
this.delegate = delegate;
192148
}
193149

194-
/**
195-
* Creates a new {@link StringBasedJdbcQuery} for the given {@link JdbcQueryMethod}, {@link RelationalMappingContext}
196-
* and {@link RowMapperFactory}.
197-
*
198-
* @param query must not be {@literal null} or empty.
199-
* @param queryMethod must not be {@literal null}.
200-
* @param operations must not be {@literal null}.
201-
* @param rowMapperFactory must not be {@literal null}.
202-
* @param converter must not be {@literal null}.
203-
* @param evaluationContextProvider must not be {@literal null}.
204-
* @since 3.4
205-
* @deprecated since 3.4, use the constructors accepting {@link ValueExpressionDelegate} instead.
206-
*/
207-
@Deprecated(since = "3.4")
208-
public StringBasedJdbcQuery(String query, JdbcQueryMethod queryMethod, NamedParameterJdbcOperations operations,
209-
RowMapperFactory rowMapperFactory, JdbcConverter converter,
210-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
211-
this(query, queryMethod, operations, rowMapperFactory, converter, new CachingValueExpressionDelegate(
212-
new QueryMethodValueEvaluationContextAccessor(new StandardEnvironment(), rootObject -> evaluationContextProvider
213-
.getEvaluationContext(queryMethod.getParameters(), new Object[] { rootObject })),
214-
ValueExpressionParser.create()));
215-
}
216-
217150
@Override
218151
public Object execute(Object[] objects) {
219152

spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,11 @@
8484
import org.springframework.data.repository.core.NamedQueries;
8585
import org.springframework.data.repository.core.support.PropertiesBasedNamedQueries;
8686
import org.springframework.data.repository.core.support.RepositoryFactoryCustomizer;
87-
import org.springframework.data.repository.query.ExtensionAwareQueryMethodEvaluationContextProvider;
8887
import org.springframework.data.repository.query.FluentQuery;
8988
import org.springframework.data.repository.query.Param;
9089
import org.springframework.data.repository.query.QueryByExampleExecutor;
91-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
90+
import org.springframework.data.spel.EvaluationContextProvider;
91+
import org.springframework.data.spel.ExtensionAwareEvaluationContextProvider;
9292
import org.springframework.data.spel.spi.EvaluationContextExtension;
9393
import org.springframework.data.support.WindowIterator;
9494
import org.springframework.data.util.Streamable;
@@ -1551,12 +1551,12 @@ MyEventListener eventListener() {
15511551
}
15521552

15531553
@Bean
1554-
public QueryMethodEvaluationContextProvider extensionAware(List<EvaluationContextExtension> exts) {
1555-
return new ExtensionAwareQueryMethodEvaluationContextProvider(exts);
1554+
public EvaluationContextProvider extensionAware(List<EvaluationContextExtension> exts) {
1555+
return new ExtensionAwareEvaluationContextProvider(exts);
15561556
}
15571557

15581558
@Bean
1559-
RepositoryFactoryCustomizer customizer(QueryMethodEvaluationContextProvider provider) {
1559+
RepositoryFactoryCustomizer customizer(EvaluationContextProvider provider) {
15601560
return repositoryFactory -> repositoryFactory.setEvaluationContextProvider(provider);
15611561
}
15621562

spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategyUnitTests.java

-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import org.springframework.data.repository.core.NamedQueries;
4141
import org.springframework.data.repository.core.RepositoryMetadata;
4242
import org.springframework.data.repository.query.QueryLookupStrategy;
43-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
4443
import org.springframework.data.repository.query.RepositoryQuery;
4544
import org.springframework.data.repository.query.ValueExpressionDelegate;
4645
import org.springframework.data.util.TypeInformation;
@@ -72,7 +71,6 @@ class JdbcQueryLookupStrategyUnitTests {
7271
private RepositoryMetadata metadata;
7372
private NamedQueries namedQueries = mock(NamedQueries.class);
7473
private NamedParameterJdbcOperations operations = mock(NamedParameterJdbcOperations.class);
75-
QueryMethodEvaluationContextProvider evaluationContextProvider = mock(QueryMethodEvaluationContextProvider.class);
7674

7775
@BeforeEach
7876
void setup() {

spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java

+9-8
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
import org.springframework.data.relational.core.mapping.NamingStrategy;
4747
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
4848
import org.springframework.data.repository.core.NamedQueries;
49-
import org.springframework.data.repository.query.ExtensionAwareQueryMethodEvaluationContextProvider;
49+
import org.springframework.data.spel.ExtensionAwareEvaluationContextProvider;
5050
import org.springframework.data.spel.spi.EvaluationContextExtension;
5151
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
5252
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
@@ -87,8 +87,7 @@ JdbcRepositoryFactory jdbcRepositoryFactory(
8787
publisher, namedParameterJdbcTemplate());
8888
namedQueries.map(it -> it.iterator().next()).ifPresent(factory::setNamedQueries);
8989

90-
factory.setEvaluationContextProvider(
91-
new ExtensionAwareQueryMethodEvaluationContextProvider(evaulationContextExtensions));
90+
factory.setEvaluationContextProvider(new ExtensionAwareEvaluationContextProvider(evaulationContextExtensions));
9291
return factory;
9392
}
9493

@@ -108,22 +107,24 @@ DataAccessStrategy defaultDataAccessStrategy(
108107
@Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations template, RelationalMappingContext context,
109108
JdbcConverter converter, Dialect dialect) {
110109

111-
return new DataAccessStrategyFactory(new SqlGeneratorSource(context, converter, dialect), converter,
112-
template, new SqlParametersFactory(context, converter),
113-
new InsertStrategyFactory(template, dialect)).create();
110+
return new DataAccessStrategyFactory(new SqlGeneratorSource(context, converter, dialect), converter, template,
111+
new SqlParametersFactory(context, converter), new InsertStrategyFactory(template, dialect)).create();
114112
}
115113

116114
@Bean("jdbcMappingContext")
117115
@Profile(PROFILE_NO_SINGLE_QUERY_LOADING)
118-
JdbcMappingContext jdbcMappingContextWithOutSingleQueryLoading(Optional<NamingStrategy> namingStrategy, CustomConversions conversions) {
116+
JdbcMappingContext jdbcMappingContextWithOutSingleQueryLoading(Optional<NamingStrategy> namingStrategy,
117+
CustomConversions conversions) {
119118

120119
JdbcMappingContext mappingContext = new JdbcMappingContext(namingStrategy.orElse(DefaultNamingStrategy.INSTANCE));
121120
mappingContext.setSimpleTypeHolder(conversions.getSimpleTypeHolder());
122121
return mappingContext;
123122
}
123+
124124
@Bean("jdbcMappingContext")
125125
@Profile(PROFILE_SINGLE_QUERY_LOADING)
126-
JdbcMappingContext jdbcMappingContextWithSingleQueryLoading(Optional<NamingStrategy> namingStrategy, CustomConversions conversions) {
126+
JdbcMappingContext jdbcMappingContextWithSingleQueryLoading(Optional<NamingStrategy> namingStrategy,
127+
CustomConversions conversions) {
127128

128129
JdbcMappingContext mappingContext = new JdbcMappingContext(namingStrategy.orElse(DefaultNamingStrategy.INSTANCE));
129130
mappingContext.setSimpleTypeHolder(conversions.getSimpleTypeHolder());

spring-data-r2dbc/src/main/java/org/springframework/data/r2dbc/repository/query/R2dbcParameterAccessor.java

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

18-
import org.reactivestreams.Publisher;
1918
import reactor.core.publisher.Flux;
2019
import reactor.core.publisher.Mono;
2120

@@ -25,9 +24,11 @@
2524
import java.util.Optional;
2625
import java.util.concurrent.ConcurrentHashMap;
2726

27+
import org.reactivestreams.Publisher;
28+
2829
import org.springframework.data.relational.repository.query.RelationalParametersParameterAccessor;
2930
import org.springframework.data.repository.util.ReactiveWrapperConverters;
30-
import org.springframework.data.repository.util.ReactiveWrappers;
31+
import org.springframework.data.util.ReactiveWrappers;
3132

3233
/**
3334
* Reactive {@link org.springframework.data.repository.query.ParametersParameterAccessor} implementation that subscribes

spring-data-r2dbc/src/main/java/org/springframework/data/r2dbc/repository/query/StringBasedR2dbcQuery.java

+6-50
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,18 @@
2222
import java.util.List;
2323
import java.util.Map;
2424

25-
import org.springframework.core.env.StandardEnvironment;
2625
import org.springframework.data.expression.ReactiveValueEvaluationContextProvider;
2726
import org.springframework.data.expression.ValueEvaluationContext;
2827
import org.springframework.data.expression.ValueEvaluationContextProvider;
29-
import org.springframework.data.expression.ValueExpressionParser;
3028
import org.springframework.data.r2dbc.convert.R2dbcConverter;
3129
import org.springframework.data.r2dbc.core.R2dbcEntityOperations;
3230
import org.springframework.data.r2dbc.core.ReactiveDataAccessStrategy;
3331
import org.springframework.data.r2dbc.dialect.BindTargetBinder;
3432
import org.springframework.data.r2dbc.repository.Query;
3533
import org.springframework.data.relational.repository.query.RelationalParameterAccessor;
36-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
37-
import org.springframework.data.repository.query.QueryMethodValueEvaluationContextAccessor;
38-
import org.springframework.data.repository.query.ReactiveQueryMethodEvaluationContextProvider;
3934
import org.springframework.data.repository.query.ResultProcessor;
4035
import org.springframework.data.repository.query.ValueExpressionDelegate;
4136
import org.springframework.data.spel.ExpressionDependencies;
42-
import org.springframework.expression.ExpressionParser;
4337
import org.springframework.expression.spel.standard.SpelExpressionParser;
4438
import org.springframework.r2dbc.core.DatabaseClient;
4539
import org.springframework.r2dbc.core.Parameter;
@@ -64,46 +58,6 @@ public class StringBasedR2dbcQuery extends AbstractR2dbcQuery {
6458
private final ReactiveDataAccessStrategy dataAccessStrategy;
6559
private final ReactiveValueEvaluationContextProvider valueContextProvider;
6660

67-
/**
68-
* Creates a new {@link StringBasedR2dbcQuery} for the given {@link StringBasedR2dbcQuery}, {@link DatabaseClient},
69-
* {@link SpelExpressionParser}, and {@link QueryMethodEvaluationContextProvider}.
70-
*
71-
* @param queryMethod must not be {@literal null}.
72-
* @param entityOperations must not be {@literal null}.
73-
* @param converter must not be {@literal null}.
74-
* @param dataAccessStrategy must not be {@literal null}.
75-
* @param expressionParser must not be {@literal null}.
76-
* @param evaluationContextProvider must not be {@literal null}.
77-
* @deprecated use the constructor version with {@link ValueExpressionDelegate}
78-
*/
79-
@Deprecated(since = "3.4")
80-
public StringBasedR2dbcQuery(R2dbcQueryMethod queryMethod, R2dbcEntityOperations entityOperations,
81-
R2dbcConverter converter, ReactiveDataAccessStrategy dataAccessStrategy, ExpressionParser expressionParser,
82-
ReactiveQueryMethodEvaluationContextProvider evaluationContextProvider) {
83-
this(queryMethod.getRequiredAnnotatedQuery(), queryMethod, entityOperations, converter, dataAccessStrategy,
84-
expressionParser, evaluationContextProvider);
85-
}
86-
87-
/**
88-
* Create a new {@link StringBasedR2dbcQuery} for the given {@code query}, {@link R2dbcQueryMethod},
89-
* {@link DatabaseClient}, {@link SpelExpressionParser}, and {@link QueryMethodEvaluationContextProvider}.
90-
*
91-
* @param query must not be {@literal null}.
92-
* @param method must not be {@literal null}.
93-
* @param entityOperations must not be {@literal null}.
94-
* @param converter must not be {@literal null}.
95-
* @param dataAccessStrategy must not be {@literal null}.
96-
* @param expressionParser must not be {@literal null}.
97-
* @param evaluationContextProvider must not be {@literal null}.
98-
* @deprecated use the constructor version with {@link ValueExpressionDelegate}
99-
*/
100-
@Deprecated(since = "3.4")
101-
public StringBasedR2dbcQuery(String query, R2dbcQueryMethod method, R2dbcEntityOperations entityOperations,
102-
R2dbcConverter converter, ReactiveDataAccessStrategy dataAccessStrategy, ExpressionParser expressionParser,
103-
ReactiveQueryMethodEvaluationContextProvider evaluationContextProvider) {
104-
this(query, method, entityOperations, converter, dataAccessStrategy, new ValueExpressionDelegate(new QueryMethodValueEvaluationContextAccessor(new StandardEnvironment(), evaluationContextProvider.getEvaluationContextProvider()), ValueExpressionParser.create(() -> expressionParser)));
105-
}
106-
10761
/**
10862
* Create a new {@link StringBasedR2dbcQuery} for the given {@code query}, {@link R2dbcQueryMethod},
10963
* {@link DatabaseClient}, {@link SpelExpressionParser}, and {@link QueryMethodEvaluationContextProvider}.
@@ -115,8 +69,10 @@ public StringBasedR2dbcQuery(String query, R2dbcQueryMethod method, R2dbcEntityO
11569
* @param valueExpressionDelegate must not be {@literal null}.
11670
*/
11771
public StringBasedR2dbcQuery(R2dbcQueryMethod method, R2dbcEntityOperations entityOperations,
118-
R2dbcConverter converter, ReactiveDataAccessStrategy dataAccessStrategy, ValueExpressionDelegate valueExpressionDelegate) {
119-
this(method.getRequiredAnnotatedQuery(), method, entityOperations, converter, dataAccessStrategy, valueExpressionDelegate);
72+
R2dbcConverter converter, ReactiveDataAccessStrategy dataAccessStrategy,
73+
ValueExpressionDelegate valueExpressionDelegate) {
74+
this(method.getRequiredAnnotatedQuery(), method, entityOperations, converter, dataAccessStrategy,
75+
valueExpressionDelegate);
12076
}
12177

12278
/**
@@ -130,7 +86,8 @@ public StringBasedR2dbcQuery(R2dbcQueryMethod method, R2dbcEntityOperations enti
13086
* @param valueExpressionDelegate must not be {@literal null}.
13187
*/
13288
public StringBasedR2dbcQuery(String query, R2dbcQueryMethod method, R2dbcEntityOperations entityOperations,
133-
R2dbcConverter converter, ReactiveDataAccessStrategy dataAccessStrategy, ValueExpressionDelegate valueExpressionDelegate) {
89+
R2dbcConverter converter, ReactiveDataAccessStrategy dataAccessStrategy,
90+
ValueExpressionDelegate valueExpressionDelegate) {
13491

13592
super(method, entityOperations, converter);
13693

@@ -148,7 +105,6 @@ public StringBasedR2dbcQuery(String query, R2dbcQueryMethod method, R2dbcEntityO
148105
this.valueContextProvider = (ReactiveValueEvaluationContextProvider) valueContextProvider;
149106
this.expressionDependencies = createExpressionDependencies();
150107

151-
152108
if (method.isSliceQuery()) {
153109
throw new UnsupportedOperationException(
154110
"Slice queries are not supported using string-based queries; Offending method: " + method);

0 commit comments

Comments
 (0)