From 30292101e41978fca22442b732e4f0eb80efe937 Mon Sep 17 00:00:00 2001 From: Fabian Henniges Date: Sun, 4 Feb 2018 12:38:07 +0100 Subject: [PATCH] DATACMNS-1255 - Allow configuration of QueryLookupStrategy for CDI repositories. Original pull request: #272. --- .../data/repository/cdi/CdiRepositoryBean.java | 7 +++++++ .../repository/cdi/CdiRepositoryConfiguration.java | 11 +++++++++++ .../config/DefaultRepositoryConfiguration.java | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java index 9342d144b..10f1b777b 100644 --- a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java +++ b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java @@ -44,6 +44,7 @@ import org.springframework.data.repository.config.CustomRepositoryImplementation import org.springframework.data.repository.config.DefaultRepositoryConfiguration; import org.springframework.data.repository.config.RepositoryBeanNameGenerator; import org.springframework.data.repository.config.SpringDataAnnotationBeanNameGenerator; +import org.springframework.data.repository.query.QueryLookupStrategy; import org.springframework.lang.Nullable; import org.springframework.util.Assert; import org.springframework.util.ClassUtils; @@ -429,5 +430,11 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl public String getRepositoryImplementationPostfix() { return DefaultRepositoryConfiguration.DEFAULT_REPOSITORY_IMPLEMENTATION_POSTFIX; } + + @Override + public QueryLookupStrategy.Key getQueryLookupStrategy() { + return DefaultRepositoryConfiguration.DEFAULT_QUERY_LOOKUP_STRATEGY; + } + } } diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryConfiguration.java b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryConfiguration.java index 07d913f23..1fff25a5a 100644 --- a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryConfiguration.java +++ b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryConfiguration.java @@ -16,6 +16,8 @@ package org.springframework.data.repository.cdi; +import org.springframework.data.repository.query.QueryLookupStrategy; + /** * Interface containing the configurable options for the Spring Data repository subsystem using CDI. * @@ -29,4 +31,13 @@ public interface CdiRepositoryConfiguration { * @return the postfix to use, must not be {@literal null}. */ String getRepositoryImplementationPostfix(); + + + /** + * Return the strategy to lookup queries + * + * @return the lookup strategy to use + */ + QueryLookupStrategy.Key getQueryLookupStrategy(); + } diff --git a/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java b/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java index aca90c369..e69ca1789 100644 --- a/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java +++ b/src/main/java/org/springframework/data/repository/config/DefaultRepositoryConfiguration.java @@ -41,7 +41,7 @@ public class DefaultRepositoryConfiguration { public static final String DEFAULT_REPOSITORY_IMPLEMENTATION_POSTFIX = "Impl"; - private static final Key DEFAULT_QUERY_LOOKUP_STRATEGY = Key.CREATE_IF_NOT_FOUND; + public static final Key DEFAULT_QUERY_LOOKUP_STRATEGY = Key.CREATE_IF_NOT_FOUND; private final @NonNull T configurationSource; private final @NonNull BeanDefinition definition;