From f07d8fca8c12cddaa46aa109efec3654d5d09ecd Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 27 Aug 2014 10:11:40 +0200 Subject: [PATCH] DATAMONGO-1036 - Improved detection of custom implementations for CDI repositories. Adapted to API changes in CDI extension. Related ticket: DATACMNS-565. --- .../data/mongodb/repository/cdi/MongoRepositoryBean.java | 9 +++++---- .../mongodb/repository/cdi/MongoRepositoryExtension.java | 4 +--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/cdi/MongoRepositoryBean.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/cdi/MongoRepositoryBean.java index fbb89a506..0a43c72b2 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/cdi/MongoRepositoryBean.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/cdi/MongoRepositoryBean.java @@ -25,6 +25,7 @@ import javax.enterprise.inject.spi.BeanManager; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.repository.support.MongoRepositoryFactory; import org.springframework.data.repository.cdi.CdiRepositoryBean; +import org.springframework.data.repository.config.CustomRepositoryImplementationDetector; import org.springframework.util.Assert; /** @@ -44,13 +45,13 @@ public class MongoRepositoryBean extends CdiRepositoryBean { * @param qualifiers must not be {@literal null}. * @param repositoryType must not be {@literal null}. * @param beanManager must not be {@literal null}. - * @param customImplementationBean the bean for the custom implementation of the - * {@link org.springframework.data.repository.Repository}, can be {@literal null}. + * @param detector detector for the custom {@link org.springframework.data.repository.Repository} implementations + * {@link CustomRepositoryImplementationDetector}, can be {@literal null}. */ public MongoRepositoryBean(Bean operations, Set qualifiers, Class repositoryType, - BeanManager beanManager, Bean customImplementationBean) { + BeanManager beanManager, CustomRepositoryImplementationDetector detector) { - super(qualifiers, repositoryType, beanManager, customImplementationBean); + super(qualifiers, repositoryType, beanManager, detector); Assert.notNull(operations); this.operations = operations; diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/cdi/MongoRepositoryExtension.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/cdi/MongoRepositoryExtension.java index 16e9a5ed9..690232604 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/cdi/MongoRepositoryExtension.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/cdi/MongoRepositoryExtension.java @@ -110,10 +110,8 @@ public class MongoRepositoryExtension extends CdiRepositoryExtensionSupport { MongoOperations.class.getName(), qualifiers)); } - Bean customImplementationBean = getCustomImplementationBean(repositoryType, beanManager, qualifiers); - // Construct and return the repository bean. return new MongoRepositoryBean(mongoOperations, qualifiers, repositoryType, beanManager, - customImplementationBean); + getCustomImplementationDetector()); } }