From 9bc9c47f42e53a35a53f1a2879cde725669599b2 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Mon, 12 Mar 2018 17:00:16 +0100 Subject: [PATCH] DATAES-432 - Export composable repositories via CDI. We now export composable repositories through our CDI extension. Repositories can now be customized either by a single custom implementation (as it was before) and by providing fragment interfaces along their fragment implementation. This change aligns CDI support with the existing RepositoryFactory support we provide within a Spring application context. --- .../cdi/ElasticsearchRepositoryBean.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/cdi/ElasticsearchRepositoryBean.java b/src/main/java/org/springframework/data/elasticsearch/repository/cdi/ElasticsearchRepositoryBean.java index ace15bf36..770dff2e8 100644 --- a/src/main/java/org/springframework/data/elasticsearch/repository/cdi/ElasticsearchRepositoryBean.java +++ b/src/main/java/org/springframework/data/elasticsearch/repository/cdi/ElasticsearchRepositoryBean.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2017 the original author or authors. + * Copyright 2013-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -60,24 +60,21 @@ public class ElasticsearchRepositoryBean extends CdiRepositoryBean { this.elasticsearchOperationsBean = operations; } - /* (non-Javadoc) - * @see org.springframework.data.repository.cdi.CdiRepositoryBean#create(javax.enterprise.context.spi.CreationalContext, java.lang.Class, java.util.Optional) + /* + * (non-Javadoc) + * @see org.springframework.data.repository.cdi.CdiRepositoryBean#create(javax.enterprise.context.spi.CreationalContext, java.lang.Class) */ @Override - protected T create(CreationalContext creationalContext, Class repositoryType, - Optional customImplementation) { + protected T create(CreationalContext creationalContext, Class repositoryType) { - ElasticsearchOperations elasticsearchOperations = getDependencyInstance(elasticsearchOperationsBean, + ElasticsearchOperations operations = getDependencyInstance(elasticsearchOperationsBean, ElasticsearchOperations.class); - ElasticsearchRepositoryFactory factory = new ElasticsearchRepositoryFactory(elasticsearchOperations); - - return customImplementation // - .map(o -> factory.getRepository(repositoryType, o)) // - .orElseGet(() -> factory.getRepository(repositoryType)); + return create(() -> new ElasticsearchRepositoryFactory(operations), repositoryType); } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.springframework.data.repository.cdi.CdiRepositoryBean#getScope() */ @Override