Browse Source

DATAMONGO-1036 - Improved detection of custom implementations for CDI repositories.

Adapted to API changes in CDI extension.

Related ticket: DATACMNS-565.
pull/222/head
Mark Paluch 11 years ago committed by Oliver Gierke
parent
commit
f07d8fca8c
  1. 9
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/cdi/MongoRepositoryBean.java
  2. 4
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/cdi/MongoRepositoryExtension.java

9
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.core.MongoOperations;
import org.springframework.data.mongodb.repository.support.MongoRepositoryFactory; import org.springframework.data.mongodb.repository.support.MongoRepositoryFactory;
import org.springframework.data.repository.cdi.CdiRepositoryBean; import org.springframework.data.repository.cdi.CdiRepositoryBean;
import org.springframework.data.repository.config.CustomRepositoryImplementationDetector;
import org.springframework.util.Assert; import org.springframework.util.Assert;
/** /**
@ -44,13 +45,13 @@ public class MongoRepositoryBean<T> extends CdiRepositoryBean<T> {
* @param qualifiers must not be {@literal null}. * @param qualifiers must not be {@literal null}.
* @param repositoryType must not be {@literal null}. * @param repositoryType must not be {@literal null}.
* @param beanManager must not be {@literal null}. * @param beanManager must not be {@literal null}.
* @param customImplementationBean the bean for the custom implementation of the * @param detector detector for the custom {@link org.springframework.data.repository.Repository} implementations
* {@link org.springframework.data.repository.Repository}, can be {@literal null}. * {@link CustomRepositoryImplementationDetector}, can be {@literal null}.
*/ */
public MongoRepositoryBean(Bean<MongoOperations> operations, Set<Annotation> qualifiers, Class<T> repositoryType, public MongoRepositoryBean(Bean<MongoOperations> operations, Set<Annotation> qualifiers, Class<T> repositoryType,
BeanManager beanManager, Bean<?> customImplementationBean) { BeanManager beanManager, CustomRepositoryImplementationDetector detector) {
super(qualifiers, repositoryType, beanManager, customImplementationBean); super(qualifiers, repositoryType, beanManager, detector);
Assert.notNull(operations); Assert.notNull(operations);
this.operations = operations; this.operations = operations;

4
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)); MongoOperations.class.getName(), qualifiers));
} }
Bean<?> customImplementationBean = getCustomImplementationBean(repositoryType, beanManager, qualifiers);
// Construct and return the repository bean. // Construct and return the repository bean.
return new MongoRepositoryBean<T>(mongoOperations, qualifiers, repositoryType, beanManager, return new MongoRepositoryBean<T>(mongoOperations, qualifiers, repositoryType, beanManager,
customImplementationBean); getCustomImplementationDetector());
} }
} }

Loading…
Cancel
Save