From 8d22b3ae7cf0960d7eb0d7b7eba1f124df864d83 Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Tue, 11 Oct 2016 15:45:39 +0200 Subject: [PATCH] DATACMNS-867 - Fixed repository base class configuration in RepositoryBeanDefinitionBuilder. We erroneously forwarded the factory class from the extension in case of an absent repository base class name in the configuration (which is the default). --- .../config/RepositoryBeanDefinitionBuilder.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java index a000058ec..cc2976bf3 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java @@ -89,8 +89,9 @@ class RepositoryBeanDefinitionBuilder { builder.addConstructorArgValue(configuration.getRepositoryInterface()); builder.addPropertyValue("queryLookupStrategyKey", configuration.getQueryLookupStrategyKey()); builder.addPropertyValue("lazyInit", configuration.isLazyInit()); - builder.addPropertyValue("repositoryBaseClass", - configuration.getRepositoryBaseClassName().orElseGet(() -> extension.getRepositoryFactoryClassName())); + + configuration.getRepositoryBaseClassName()// + .ifPresent(it -> builder.addPropertyValue("repositoryBaseClass", it)); NamedQueriesBeanDefinitionBuilder definitionBuilder = new NamedQueriesBeanDefinitionBuilder( extension.getDefaultNamedQueryLocation()); @@ -98,9 +99,7 @@ class RepositoryBeanDefinitionBuilder { builder.addPropertyValue("namedQueries", definitionBuilder.build(configuration.getSource())); - Optional customImplementationBeanName = registerCustomImplementation(configuration); - - customImplementationBeanName.ifPresent(it -> { + registerCustomImplementation(configuration).ifPresent(it -> { builder.addPropertyReference("customImplementation", it); builder.addDependsOn(it); });