Skip to content

Commit a232232

Browse files
mp911deschauder
authored andcommitted
Adopt to deprecation removals in Commons.
Closes #1944
1 parent 523aec9 commit a232232

File tree

10 files changed

+30
-158
lines changed

10 files changed

+30
-158
lines changed

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

-65
Original file line numberDiff line numberDiff line change
@@ -32,21 +32,16 @@
3232
import org.springframework.beans.BeanInstantiationException;
3333
import org.springframework.beans.BeanUtils;
3434
import org.springframework.beans.factory.BeanFactory;
35-
import org.springframework.core.env.StandardEnvironment;
3635
import org.springframework.data.expression.ValueEvaluationContext;
37-
import org.springframework.data.expression.ValueExpressionParser;
3836
import org.springframework.data.jdbc.core.convert.JdbcColumnTypes;
3937
import org.springframework.data.jdbc.core.convert.JdbcConverter;
4038
import org.springframework.data.jdbc.core.mapping.JdbcValue;
4139
import org.springframework.data.jdbc.support.JdbcUtil;
4240
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
4341
import org.springframework.data.relational.repository.query.RelationalParameterAccessor;
4442
import org.springframework.data.relational.repository.query.RelationalParametersParameterAccessor;
45-
import org.springframework.data.repository.query.CachingValueExpressionDelegate;
4643
import org.springframework.data.repository.query.Parameter;
4744
import org.springframework.data.repository.query.Parameters;
48-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
49-
import org.springframework.data.repository.query.QueryMethodValueEvaluationContextAccessor;
5045
import org.springframework.data.repository.query.ResultProcessor;
5146
import org.springframework.data.repository.query.ValueExpressionDelegate;
5247
import org.springframework.data.repository.query.ValueExpressionQueryRewriter;
@@ -91,43 +86,6 @@ public class StringBasedJdbcQuery extends AbstractJdbcQuery {
9186
private final CachedResultSetExtractorFactory cachedResultSetExtractorFactory;
9287
private final ValueExpressionDelegate delegate;
9388

94-
/**
95-
* Creates a new {@link StringBasedJdbcQuery} for the given {@link JdbcQueryMethod}, {@link RelationalMappingContext}
96-
* and {@link RowMapper}.
97-
*
98-
* @param queryMethod must not be {@literal null}.
99-
* @param operations must not be {@literal null}.
100-
* @param defaultRowMapper can be {@literal null} (only in case of a modifying query).
101-
* @deprecated since 3.4, use the constructors accepting {@link ValueExpressionDelegate} instead.
102-
*/
103-
@Deprecated(since = "3.4")
104-
public StringBasedJdbcQuery(JdbcQueryMethod queryMethod, NamedParameterJdbcOperations operations,
105-
@Nullable RowMapper<?> defaultRowMapper, JdbcConverter converter,
106-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
107-
this(queryMethod.getRequiredQuery(), queryMethod, operations, result -> (RowMapper<Object>) defaultRowMapper,
108-
converter, evaluationContextProvider);
109-
}
110-
111-
/**
112-
* Creates a new {@link StringBasedJdbcQuery} for the given {@link JdbcQueryMethod}, {@link RelationalMappingContext}
113-
* and {@link RowMapperFactory}.
114-
*
115-
* @param queryMethod must not be {@literal null}.
116-
* @param operations must not be {@literal null}.
117-
* @param rowMapperFactory must not be {@literal null}.
118-
* @param converter must not be {@literal null}.
119-
* @param evaluationContextProvider must not be {@literal null}.
120-
* @since 2.3
121-
* @deprecated use alternative constructor
122-
*/
123-
@Deprecated(since = "3.4")
124-
public StringBasedJdbcQuery(JdbcQueryMethod queryMethod, NamedParameterJdbcOperations operations,
125-
RowMapperFactory rowMapperFactory, JdbcConverter converter,
126-
QueryMethodEvaluationContextProvider evaluationContextProvider) {
127-
this(queryMethod.getRequiredQuery(), queryMethod, operations, rowMapperFactory, converter,
128-
evaluationContextProvider);
129-
}
130-
13189
/**
13290
* Creates a new {@link StringBasedJdbcQuery} for the given {@link JdbcQueryMethod}, {@link RelationalMappingContext}
13391
* and {@link RowMapperFactory}.
@@ -197,29 +155,6 @@ public StringBasedJdbcQuery(String query, JdbcQueryMethod queryMethod, NamedPara
197155
this.delegate = delegate;
198156
}
199157

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

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@
7575
import org.springframework.data.repository.core.NamedQueries;
7676
import org.springframework.data.repository.core.support.PropertiesBasedNamedQueries;
7777
import org.springframework.data.repository.core.support.RepositoryFactoryCustomizer;
78-
import org.springframework.data.repository.query.ExtensionAwareQueryMethodEvaluationContextProvider;
7978
import org.springframework.data.repository.query.FluentQuery;
8079
import org.springframework.data.repository.query.Param;
8180
import org.springframework.data.repository.query.QueryByExampleExecutor;
82-
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
81+
import org.springframework.data.spel.EvaluationContextProvider;
82+
import org.springframework.data.spel.ExtensionAwareEvaluationContextProvider;
8383
import org.springframework.data.spel.spi.EvaluationContextExtension;
8484
import org.springframework.data.support.WindowIterator;
8585
import org.springframework.data.util.Streamable;
@@ -1573,12 +1573,12 @@ MyEventListener eventListener() {
15731573
}
15741574

15751575
@Bean
1576-
public QueryMethodEvaluationContextProvider extensionAware(List<EvaluationContextExtension> exts) {
1577-
return new ExtensionAwareQueryMethodEvaluationContextProvider(exts);
1576+
public EvaluationContextProvider extensionAware(List<EvaluationContextExtension> exts) {
1577+
return new ExtensionAwareEvaluationContextProvider(exts);
15781578
}
15791579

15801580
@Bean
1581-
RepositoryFactoryCustomizer customizer(QueryMethodEvaluationContextProvider provider) {
1581+
RepositoryFactoryCustomizer customizer(EvaluationContextProvider provider) {
15821582
return repositoryFactory -> repositoryFactory.setEvaluationContextProvider(provider);
15831583
}
15841584

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
@@ -50,7 +50,7 @@
5050
import org.springframework.data.relational.core.mapping.NamingStrategy;
5151
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
5252
import org.springframework.data.repository.core.NamedQueries;
53-
import org.springframework.data.repository.query.ExtensionAwareQueryMethodEvaluationContextProvider;
53+
import org.springframework.data.spel.ExtensionAwareEvaluationContextProvider;
5454
import org.springframework.data.spel.spi.EvaluationContextExtension;
5555
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
5656
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
@@ -97,8 +97,7 @@ JdbcRepositoryFactory jdbcRepositoryFactory(
9797

9898
namedQueries.map(it -> it.iterator().next()).ifPresent(factory::setNamedQueries);
9999

100-
factory.setEvaluationContextProvider(
101-
new ExtensionAwareQueryMethodEvaluationContextProvider(evaulationContextExtensions));
100+
factory.setEvaluationContextProvider(new ExtensionAwareEvaluationContextProvider(evaulationContextExtensions));
102101
return factory;
103102
}
104103

@@ -118,22 +117,24 @@ DataAccessStrategy defaultDataAccessStrategy(
118117
@Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations template, RelationalMappingContext context,
119118
JdbcConverter converter, Dialect dialect) {
120119

121-
return new DataAccessStrategyFactory(new SqlGeneratorSource(context, converter, dialect), converter,
122-
template, new SqlParametersFactory(context, converter),
123-
new InsertStrategyFactory(template, dialect)).create();
120+
return new DataAccessStrategyFactory(new SqlGeneratorSource(context, converter, dialect), converter, template,
121+
new SqlParametersFactory(context, converter), new InsertStrategyFactory(template, dialect)).create();
124122
}
125123

126124
@Bean("jdbcMappingContext")
127125
@Profile(PROFILE_NO_SINGLE_QUERY_LOADING)
128-
JdbcMappingContext jdbcMappingContextWithOutSingleQueryLoading(Optional<NamingStrategy> namingStrategy, CustomConversions conversions) {
126+
JdbcMappingContext jdbcMappingContextWithOutSingleQueryLoading(Optional<NamingStrategy> namingStrategy,
127+
CustomConversions conversions) {
129128

130129
JdbcMappingContext mappingContext = new JdbcMappingContext(namingStrategy.orElse(DefaultNamingStrategy.INSTANCE));
131130
mappingContext.setSimpleTypeHolder(conversions.getSimpleTypeHolder());
132131
return mappingContext;
133132
}
133+
134134
@Bean("jdbcMappingContext")
135135
@Profile(PROFILE_SINGLE_QUERY_LOADING)
136-
JdbcMappingContext jdbcMappingContextWithSingleQueryLoading(Optional<NamingStrategy> namingStrategy, CustomConversions conversions) {
136+
JdbcMappingContext jdbcMappingContextWithSingleQueryLoading(Optional<NamingStrategy> namingStrategy,
137+
CustomConversions conversions) {
137138

138139
JdbcMappingContext mappingContext = new JdbcMappingContext(namingStrategy.orElse(DefaultNamingStrategy.INSTANCE));
139140
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)