From 38b9a0ac0b2620d17a067e0cdc3858be9de8b20c Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Mon, 18 Nov 2024 09:01:41 +0100 Subject: [PATCH] Deprecate pure repository SpEL support components for removal. Closes #3207 --- .../core/support/RepositoryFactoryBeanSupport.java | 4 ++-- .../repository/core/support/RepositoryFactorySupport.java | 5 +++-- .../ExtensionAwareQueryMethodEvaluationContextProvider.java | 3 ++- .../query/QueryMethodEvaluationContextProvider.java | 3 ++- ...veExtensionAwareQueryMethodEvaluationContextProvider.java | 3 ++- .../query/ReactiveQueryMethodEvaluationContextProvider.java | 2 +- .../springframework/data/repository/query/SpelEvaluator.java | 3 ++- .../data/repository/query/SpelQueryContext.java | 3 ++- 8 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java index 3059bbf209..8acd550079 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java @@ -190,7 +190,7 @@ public void setEvaluationContextProvider(EvaluationContextProvider evaluationCon * @param evaluationContextProvider must not be {@literal null}. * @deprecated since 3.4, use {@link #setEvaluationContextProvider(EvaluationContextProvider)} instead. */ - @Deprecated(since = "3.4") + @Deprecated(since = "3.4", forRemoval = true) public void setEvaluationContextProvider(QueryMethodEvaluationContextProvider evaluationContextProvider) { setEvaluationContextProvider(evaluationContextProvider.getEvaluationContextProvider()); } @@ -258,7 +258,7 @@ protected Optional createDefaultEvaluationContextProv * @since 2.4 * @deprecated since 3.4, use {@link #createDefaultEvaluationContextProvider(ListableBeanFactory)} instead. */ - @Deprecated(since = "3.4") + @Deprecated(since = "3.4", forRemoval = true) protected Optional createDefaultQueryMethodEvaluationContextProvider( ListableBeanFactory beanFactory) { return Optional.of(new ExtensionAwareQueryMethodEvaluationContextProvider(beanFactory)); diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java index 8730942c99..b2b1a728f6 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java @@ -93,6 +93,7 @@ * @author John Blum * @author Johannes Englmeier */ +@SuppressWarnings("removal") public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, BeanFactoryAware, EnvironmentAware, EnvironmentCapable { @@ -216,7 +217,7 @@ public Environment getEnvironment() { * {@link QueryMethodEvaluationContextProvider#DEFAULT}. * @deprecated since 3.4, use {@link #setEvaluationContextProvider(EvaluationContextProvider)} instead. */ - @Deprecated(since = "3.4") + @Deprecated(since = "3.4", forRemoval = true) public void setEvaluationContextProvider(@Nullable QueryMethodEvaluationContextProvider evaluationContextProvider) { setEvaluationContextProvider(evaluationContextProvider == null ? EvaluationContextProvider.DEFAULT : evaluationContextProvider.getEvaluationContextProvider()); @@ -586,7 +587,7 @@ protected ProjectionFactory getProjectionFactory() { * @deprecated since 3.4, use {@link #getQueryLookupStrategy(Key, ValueExpressionDelegate)} instead to support * {@link org.springframework.data.expression.ValueExpression} in query methods. */ - @Deprecated(since = "3.4") + @Deprecated(since = "3.4", forRemoval = true) protected Optional getQueryLookupStrategy(@Nullable Key key, QueryMethodEvaluationContextProvider evaluationContextProvider) { return Optional.empty(); diff --git a/src/main/java/org/springframework/data/repository/query/ExtensionAwareQueryMethodEvaluationContextProvider.java b/src/main/java/org/springframework/data/repository/query/ExtensionAwareQueryMethodEvaluationContextProvider.java index bc30d81564..da53e7e9da 100644 --- a/src/main/java/org/springframework/data/repository/query/ExtensionAwareQueryMethodEvaluationContextProvider.java +++ b/src/main/java/org/springframework/data/repository/query/ExtensionAwareQueryMethodEvaluationContextProvider.java @@ -38,7 +38,8 @@ * @since 1.9 * @deprecated since 3.4 in favor of {@link QueryMethodValueEvaluationContextAccessor}. */ -@Deprecated(since = "3.4") +@SuppressWarnings("removal") +@Deprecated(since = "3.4", forRemoval = true) public class ExtensionAwareQueryMethodEvaluationContextProvider implements QueryMethodEvaluationContextProvider { private final QueryMethodValueEvaluationContextAccessor delegate; diff --git a/src/main/java/org/springframework/data/repository/query/QueryMethodEvaluationContextProvider.java b/src/main/java/org/springframework/data/repository/query/QueryMethodEvaluationContextProvider.java index 76dcd38f2b..da017690a7 100644 --- a/src/main/java/org/springframework/data/repository/query/QueryMethodEvaluationContextProvider.java +++ b/src/main/java/org/springframework/data/repository/query/QueryMethodEvaluationContextProvider.java @@ -30,7 +30,8 @@ * @since 1.9 * @deprecated since 3.4 in favor of {@link QueryMethodValueEvaluationContextAccessor}. */ -@Deprecated(since = "3.4") +@Deprecated(since = "3.4", forRemoval = true) +@SuppressWarnings("removal") public interface QueryMethodEvaluationContextProvider { QueryMethodEvaluationContextProvider DEFAULT = new ExtensionAwareQueryMethodEvaluationContextProvider( diff --git a/src/main/java/org/springframework/data/repository/query/ReactiveExtensionAwareQueryMethodEvaluationContextProvider.java b/src/main/java/org/springframework/data/repository/query/ReactiveExtensionAwareQueryMethodEvaluationContextProvider.java index 283c091882..47a072f61e 100644 --- a/src/main/java/org/springframework/data/repository/query/ReactiveExtensionAwareQueryMethodEvaluationContextProvider.java +++ b/src/main/java/org/springframework/data/repository/query/ReactiveExtensionAwareQueryMethodEvaluationContextProvider.java @@ -37,7 +37,8 @@ * @since 2.4 * @deprecated since 3.4 in favor of {@link QueryMethodValueEvaluationContextAccessor}. */ -@Deprecated(since = "3.4") +@SuppressWarnings("removal") +@Deprecated(since = "3.4", forRemoval = true) public class ReactiveExtensionAwareQueryMethodEvaluationContextProvider extends ExtensionAwareQueryMethodEvaluationContextProvider implements ReactiveQueryMethodEvaluationContextProvider { diff --git a/src/main/java/org/springframework/data/repository/query/ReactiveQueryMethodEvaluationContextProvider.java b/src/main/java/org/springframework/data/repository/query/ReactiveQueryMethodEvaluationContextProvider.java index 9d284f744a..f9d42ab262 100644 --- a/src/main/java/org/springframework/data/repository/query/ReactiveQueryMethodEvaluationContextProvider.java +++ b/src/main/java/org/springframework/data/repository/query/ReactiveQueryMethodEvaluationContextProvider.java @@ -30,7 +30,7 @@ * @since 2.4 * @deprecated since 3.4 in favor of {@link QueryMethodValueEvaluationContextAccessor}. */ -@Deprecated(since = "3.4") +@Deprecated(since = "3.4", forRemoval = true) public interface ReactiveQueryMethodEvaluationContextProvider extends QueryMethodEvaluationContextProvider { ReactiveQueryMethodEvaluationContextProvider DEFAULT = new ReactiveExtensionAwareQueryMethodEvaluationContextProvider( diff --git a/src/main/java/org/springframework/data/repository/query/SpelEvaluator.java b/src/main/java/org/springframework/data/repository/query/SpelEvaluator.java index 7d1a5f5eef..0bd8dabd84 100644 --- a/src/main/java/org/springframework/data/repository/query/SpelEvaluator.java +++ b/src/main/java/org/springframework/data/repository/query/SpelEvaluator.java @@ -37,7 +37,8 @@ * @see SpelQueryContext#parse(String) * @deprecated since 3.3, use {@link ValueExpressionQueryRewriter} instead. */ -@Deprecated(since = "3.3") +@SuppressWarnings("removal") +@Deprecated(since = "3.3", forRemoval = true) public class SpelEvaluator { private static final SpelExpressionParser PARSER = new SpelExpressionParser(); diff --git a/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java b/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java index 43a67809fc..0206e69e50 100644 --- a/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java +++ b/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java @@ -60,7 +60,8 @@ * @since 2.1 * @deprecated since 3.3, use {@link ValueExpressionQueryRewriter} instead. */ -@Deprecated(since = "3.3") +@SuppressWarnings("removal") +@Deprecated(since = "3.3", forRemoval = true) public class SpelQueryContext { private static final String SPEL_PATTERN_STRING = "([:?])#\\{([^}]+)}";