Skip to content

Commit 80236bd

Browse files
committed
Remove deprecated methods.
See #2996
1 parent bd05ed1 commit 80236bd

File tree

6 files changed

+17
-67
lines changed

6 files changed

+17
-67
lines changed

src/main/java/org/springframework/data/repository/query/DefaultParameters.java

+1-12
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,16 @@
1515
*/
1616
package org.springframework.data.repository.query;
1717

18-
import java.lang.reflect.Method;
1918
import java.util.List;
2019

2120
/**
2221
* Default implementation of {@link Parameters}.
2322
*
2423
* @author Oliver Gierke
24+
* @author Mark Paluch
2525
*/
2626
public final class DefaultParameters extends Parameters<DefaultParameters, Parameter> {
2727

28-
/**
29-
* Creates a new {@link DefaultParameters} instance from the given {@link Method}.
30-
*
31-
* @param method must not be {@literal null}.
32-
* @deprecated since 3.1, use {@link #DefaultParameters(ParametersSource)} instead.
33-
*/
34-
@Deprecated(since = "3.1", forRemoval = true)
35-
public DefaultParameters(Method method) {
36-
super(method);
37-
}
38-
3928
/**
4029
* Creates a new {@link DefaultParameters} instance from the given {@link ParametersSource}.
4130
*

src/main/java/org/springframework/data/repository/query/Parameters.java

+2-29
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,6 @@ public abstract class Parameters<S extends Parameters<S, T>, T extends Parameter
6464

6565
private int dynamicProjectionIndex;
6666

67-
/**
68-
* Creates a new instance of {@link Parameters}.
69-
*
70-
* @param method must not be {@literal null}.
71-
* @deprecated since 3.1, use {@link #Parameters(Method, Function)} instead.
72-
*/
73-
@SuppressWarnings("null")
74-
@Deprecated(since = "3.1", forRemoval = true)
75-
public Parameters(Method method) {
76-
this(method, null);
77-
}
78-
7967
/**
8068
* Creates a new {@link Parameters} instance for the given {@link Method} and {@link Function} to create a
8169
* {@link Parameter} instance from a {@link MethodParameter}.
@@ -102,9 +90,9 @@ protected Parameters(ParametersSource parametersSource,
10290
Function<MethodParameter, T> parameterFactory) {
10391

10492
Assert.notNull(parametersSource, "ParametersSource must not be null");
93+
Assert.notNull(parameterFactory, "Parameter factory must not be null");
10594

10695
// Factory nullability not enforced yet to support falling back to the deprecated
107-
// createParameter(MethodParameter). Add assertion when the deprecation is removed.
10896

10997
Method method = parametersSource.getMethod();
11098
int parameterCount = method.getParameterCount();
@@ -124,9 +112,7 @@ protected Parameters(ParametersSource parametersSource,
124112

125113
methodParameter.initParameterNameDiscovery(PARAMETER_NAME_DISCOVERER);
126114

127-
T parameter = parameterFactory == null //
128-
? createParameter(methodParameter) //
129-
: parameterFactory.apply(methodParameter);
115+
T parameter = parameterFactory.apply(methodParameter);
130116

131117
if (parameter.isSpecialParameter() && parameter.isNamedParameter()) {
132118
throw new IllegalArgumentException(PARAM_ON_SPECIAL);
@@ -213,19 +199,6 @@ private S getBindable() {
213199
return createFrom(bindables);
214200
}
215201

216-
/**
217-
* Creates a {@link Parameter} instance for the given {@link MethodParameter}.
218-
*
219-
* @param parameter will never be {@literal null}.
220-
* @return
221-
* @deprecated since 3.1, in your extension, call {@link #Parameters(Method, Function)} instead.
222-
*/
223-
@SuppressWarnings("unchecked")
224-
@Deprecated(since = "3.1", forRemoval = true)
225-
protected T createParameter(MethodParameter parameter) {
226-
return (T) new Parameter(parameter);
227-
}
228-
229202
/**
230203
* Returns whether the method the {@link Parameters} was created for contains a {@link ScrollPosition} argument.
231204
*

src/main/java/org/springframework/data/repository/query/QueryMethod.java

+1-13
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public QueryMethod(Method method, RepositoryMetadata metadata, ProjectionFactory
8585
this.method = method;
8686
this.unwrappedReturnType = potentiallyUnwrapReturnTypeFor(metadata, method);
8787
this.metadata = metadata;
88-
this.parameters = createParameters(method);
88+
this.parameters = createParameters(method, metadata.getDomainTypeInformation());
8989

9090
this.domainClass = Lazy.of(() -> {
9191

@@ -165,18 +165,6 @@ private boolean calculateIsCollectionQuery() {
165165
return TypeInformation.of(unwrappedReturnType).isCollectionLike();
166166
}
167167

168-
/**
169-
* Creates a {@link Parameters} instance.
170-
*
171-
* @param method must not be {@literal null}.
172-
* @return must not return {@literal null}.
173-
* @deprecated since 3.1, call or override {@link #createParameters(Method, TypeInformation)} instead.
174-
*/
175-
@Deprecated(since = "3.1", forRemoval = true)
176-
protected Parameters<?, ?> createParameters(Method method) {
177-
return createParameters(method, metadata.getDomainTypeInformation());
178-
}
179-
180168
/**
181169
* Creates a {@link Parameters} instance.
182170
*

src/test/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProviderUnitTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ private Object evaluateExpression(String expression) {
386386

387387
private Object evaluateExpression(String expression, Object[] args) {
388388

389-
var parameters = new DefaultParameters(method);
389+
var parameters = new DefaultParameters(ParametersSource.of(method));
390390
var evaluationContext = provider.getEvaluationContext(parameters, args);
391391
return new SpelExpressionParser().parseExpression(expression).getValue(evaluationContext);
392392
}

src/test/java/org/springframework/data/repository/query/SimpleParameterAccessorUnitTests.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,13 @@ class SimpleParameterAccessorUnitTests {
3737
@BeforeEach
3838
void setUp() throws SecurityException, NoSuchMethodException {
3939

40-
parameters = new DefaultParameters(Sample.class.getMethod("sample", String.class));
41-
cursorRequestParameters = new DefaultParameters(Sample.class.getMethod("sample", ScrollPosition.class));
42-
sortParameters = new DefaultParameters(Sample.class.getMethod("sample1", String.class, Sort.class));
43-
pageableParameters = new DefaultParameters(Sample.class.getMethod("sample2", String.class, Pageable.class));
40+
parameters = new DefaultParameters(ParametersSource.of(Sample.class.getMethod("sample", String.class)));
41+
cursorRequestParameters = new DefaultParameters(
42+
ParametersSource.of(Sample.class.getMethod("sample", ScrollPosition.class)));
43+
sortParameters = new DefaultParameters(
44+
ParametersSource.of(Sample.class.getMethod("sample1", String.class, Sort.class)));
45+
pageableParameters = new DefaultParameters(
46+
ParametersSource.of(Sample.class.getMethod("sample2", String.class, Pageable.class)));
4447
}
4548

4649
@Test
@@ -60,8 +63,7 @@ void rejectsNullValues() {
6063

6164
@Test
6265
void rejectsTooLittleNumberOfArguments() {
63-
assertThatIllegalArgumentException()
64-
.isThrownBy(() -> new ParametersParameterAccessor(parameters, new Object[0]));
66+
assertThatIllegalArgumentException().isThrownBy(() -> new ParametersParameterAccessor(parameters, new Object[0]));
6567
}
6668

6769
@Test
@@ -103,8 +105,7 @@ void returnsSortIfAvailable() {
103105
void returnsPageableIfAvailable() {
104106

105107
Pageable pageable = PageRequest.of(0, 10);
106-
ParameterAccessor accessor = new ParametersParameterAccessor(pageableParameters,
107-
new Object[] { "test", pageable });
108+
ParameterAccessor accessor = new ParametersParameterAccessor(pageableParameters, new Object[] { "test", pageable });
108109

109110
assertThat(accessor.getPageable()).isEqualTo(pageable);
110111
assertThat(accessor.getSort().isSorted()).isFalse();
@@ -115,8 +116,7 @@ void returnsSortFromPageableIfAvailable() throws Exception {
115116

116117
var sort = Sort.by("foo");
117118
Pageable pageable = PageRequest.of(0, 10, sort);
118-
ParameterAccessor accessor = new ParametersParameterAccessor(pageableParameters,
119-
new Object[] { "test", pageable });
119+
ParameterAccessor accessor = new ParametersParameterAccessor(pageableParameters, new Object[] { "test", pageable });
120120

121121
assertThat(accessor.getPageable()).isEqualTo(pageable);
122122
assertThat(accessor.getSort()).isEqualTo(sort);

src/test/java/org/springframework/data/repository/query/SpelEvaluatorUnitTests.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ void shouldEvaluateExpression() throws Exception {
3838
SpelExtractor extractor = context.parse("SELECT :#{#value}");
3939
Method method = MyRepository.class.getDeclaredMethod("simpleExpression", String.class);
4040
SpelEvaluator evaluator = new SpelEvaluator(QueryMethodEvaluationContextProvider.DEFAULT,
41-
new DefaultParameters(method), extractor);
41+
new DefaultParameters(ParametersSource.of(method)), extractor);
4242

4343
assertThat(evaluator.getQueryString()).isEqualTo("SELECT :__$synthetic$__1");
4444
assertThat(evaluator.evaluate(new Object[] { "hello" })).containsEntry("__$synthetic$__1", "hello");
@@ -50,7 +50,7 @@ void shouldAllowNullValues() throws Exception {
5050
SpelExtractor extractor = context.parse("SELECT :#{#value}");
5151
Method method = MyRepository.class.getDeclaredMethod("simpleExpression", String.class);
5252
SpelEvaluator evaluator = new SpelEvaluator(QueryMethodEvaluationContextProvider.DEFAULT,
53-
new DefaultParameters(method), extractor);
53+
new DefaultParameters(ParametersSource.of(method)), extractor);
5454

5555
assertThat(evaluator.getQueryString()).isEqualTo("SELECT :__$synthetic$__1");
5656
assertThat(evaluator.evaluate(new Object[] { null })).containsEntry("__$synthetic$__1", null);

0 commit comments

Comments
 (0)