From da31b978bccfcf265f7be02111ae5a923592e073 Mon Sep 17 00:00:00 2001 From: Peter-Josef Meisch Date: Thu, 23 Apr 2020 23:23:58 +0200 Subject: [PATCH] DATAES-800 - Delombok production code. Original PR: #438 --- .../client/RestClientFactoryBean.java | 11 +++-- .../ElasticsearchConfigurationSupport.java | 28 ++++++----- .../elasticsearch/core/EntityOperations.java | 32 +++++++++---- .../core/client/support/AliasData.java | 46 +++++++++++++++---- ...eactiveElasticsearchRepositoryFactory.java | 17 +++++-- 5 files changed, 92 insertions(+), 42 deletions(-) diff --git a/src/main/java/org/springframework/data/elasticsearch/client/RestClientFactoryBean.java b/src/main/java/org/springframework/data/elasticsearch/client/RestClientFactoryBean.java index f32d301cc..f4b5b6530 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/RestClientFactoryBean.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/RestClientFactoryBean.java @@ -15,14 +15,14 @@ */ package org.springframework.data.elasticsearch.client; -import lombok.extern.slf4j.Slf4j; - import java.net.URL; import java.util.ArrayList; import org.apache.http.HttpHost; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.FactoryBeanNotInitializedException; @@ -36,9 +36,10 @@ import org.springframework.util.Assert; * @author Don Wellington * @author Peter-Josef Meisch */ -@Slf4j public class RestClientFactoryBean implements FactoryBean, InitializingBean, DisposableBean { + private static final Logger LOGGER = LoggerFactory.getLogger(RestClientFactoryBean.class); + private @Nullable RestHighLevelClient client; private String hosts = "http://localhost:9200"; static final String COMMA = ","; @@ -46,12 +47,12 @@ public class RestClientFactoryBean implements FactoryBean, @Override public void destroy() { try { - log.info("Closing elasticSearch client"); + LOGGER.info("Closing elasticSearch client"); if (client != null) { client.close(); } } catch (final Exception e) { - log.error("Error closing ElasticSearch client: ", e); + LOGGER.error("Error closing ElasticSearch client: ", e); } } diff --git a/src/main/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupport.java b/src/main/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupport.java index e120bc20d..7be1c98c7 100644 --- a/src/main/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupport.java +++ b/src/main/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupport.java @@ -15,8 +15,6 @@ */ package org.springframework.data.elasticsearch.config; -import lombok.SneakyThrows; - import java.util.Collection; import java.util.Collections; import java.util.HashSet; @@ -62,7 +60,6 @@ public class ElasticsearchConfigurationSupport { * @return never {@literal null}. */ @Bean - @SneakyThrows public SimpleElasticsearchMappingContext elasticsearchMappingContext() { SimpleElasticsearchMappingContext mappingContext = new SimpleElasticsearchMappingContext(); @@ -103,9 +100,8 @@ public class ElasticsearchConfigurationSupport { * * @see #getMappingBasePackages() * @return never {@literal null}. - * @throws ClassNotFoundException */ - protected Set> getInitialEntitySet() throws ClassNotFoundException { + protected Set> getInitialEntitySet() { Set> initialEntitySet = new HashSet<>(); @@ -122,9 +118,8 @@ public class ElasticsearchConfigurationSupport { * * @param basePackage must not be {@literal null}. * @return never {@literal null}. - * @throws ClassNotFoundException */ - protected Set> scanForEntities(String basePackage) throws ClassNotFoundException { + protected Set> scanForEntities(String basePackage) { if (!StringUtils.hasText(basePackage)) { return Collections.emptySet(); @@ -132,17 +127,20 @@ public class ElasticsearchConfigurationSupport { Set> initialEntitySet = new HashSet<>(); - if (StringUtils.hasText(basePackage)) { + ClassPathScanningCandidateComponentProvider componentProvider = new ClassPathScanningCandidateComponentProvider( + false); + componentProvider.addIncludeFilter(new AnnotationTypeFilter(Document.class)); + componentProvider.addIncludeFilter(new AnnotationTypeFilter(Persistent.class)); - ClassPathScanningCandidateComponentProvider componentProvider = new ClassPathScanningCandidateComponentProvider( - false); - componentProvider.addIncludeFilter(new AnnotationTypeFilter(Document.class)); - componentProvider.addIncludeFilter(new AnnotationTypeFilter(Persistent.class)); + for (BeanDefinition candidate : componentProvider.findCandidateComponents(basePackage)) { - for (BeanDefinition candidate : componentProvider.findCandidateComponents(basePackage)) { + String beanClassName = candidate.getBeanClassName(); - initialEntitySet.add(ClassUtils.forName(candidate.getBeanClassName(), - AbstractReactiveElasticsearchConfiguration.class.getClassLoader())); + if (beanClassName != null) { + try { + initialEntitySet.add( + ClassUtils.forName(beanClassName, AbstractReactiveElasticsearchConfiguration.class.getClassLoader())); + } catch (ClassNotFoundException | LinkageError ignored) {} } } diff --git a/src/main/java/org/springframework/data/elasticsearch/core/EntityOperations.java b/src/main/java/org/springframework/data/elasticsearch/core/EntityOperations.java index 160f89941..1a8567d9a 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/EntityOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/EntityOperations.java @@ -15,10 +15,6 @@ */ package org.springframework.data.elasticsearch.core; -import lombok.AccessLevel; -import lombok.NonNull; -import lombok.RequiredArgsConstructor; - import java.util.Map; import org.springframework.core.convert.ConversionService; @@ -46,11 +42,14 @@ class EntityOperations { private static final String ID_FIELD = "id"; public EntityOperations( - @NonNull MappingContext, ElasticsearchPersistentProperty> context) { + MappingContext, ElasticsearchPersistentProperty> context) { + + Assert.notNull(context, "context must not be null"); + this.context = context; } - private final @NonNull MappingContext, ElasticsearchPersistentProperty> context; + private final MappingContext, ElasticsearchPersistentProperty> context; /** * Creates a new {@link Entity} for the given bean. @@ -264,9 +263,15 @@ class EntityOperations { * @author Christoph Strobl * @since 3.2 */ - @RequiredArgsConstructor private static class MapBackedEntity> implements AdaptibleEntity { + public MapBackedEntity(T map) { + + Assert.notNull(map, "map must not be null"); + + this.map = map; + } + private final T map; /* @@ -406,13 +411,24 @@ class EntityOperations { * @param * @since 3.2 */ - @RequiredArgsConstructor(access = AccessLevel.PROTECTED) private static class MappedEntity implements Entity { private final ElasticsearchPersistentEntity entity; private final IdentifierAccessor idAccessor; private final PersistentPropertyAccessor propertyAccessor; + private MappedEntity(ElasticsearchPersistentEntity entity, IdentifierAccessor idAccessor, + PersistentPropertyAccessor propertyAccessor) { + + Assert.notNull(entity, "entity must not ne null"); + Assert.notNull(idAccessor, "idAccessor must not ne null"); + Assert.notNull(propertyAccessor, "propertyAccessor must not ne null"); + + this.entity = entity; + this.idAccessor = idAccessor; + this.propertyAccessor = propertyAccessor; + } + private static MappedEntity of(T bean, MappingContext, ElasticsearchPersistentProperty> context) { diff --git a/src/main/java/org/springframework/data/elasticsearch/core/client/support/AliasData.java b/src/main/java/org/springframework/data/elasticsearch/core/client/support/AliasData.java index 14cbda75d..3fda69c8c 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/client/support/AliasData.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/client/support/AliasData.java @@ -15,15 +15,41 @@ */ package org.springframework.data.elasticsearch.core.client.support; -import lombok.Data; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -@JsonIgnoreProperties(ignoreUnknown = true) -@Data public class AliasData { - String filter = null; - String routing = null; - String search_routing = null; - String index_routing = null; + private String filter = null; + private String routing = null; + private String search_routing = null; + private String index_routing = null; + + public String getFilter() { + return filter; + } + + public void setFilter(String filter) { + this.filter = filter; + } + + public String getRouting() { + return routing; + } + + public void setRouting(String routing) { + this.routing = routing; + } + + public String getSearch_routing() { + return search_routing; + } + + public void setSearch_routing(String search_routing) { + this.search_routing = search_routing; + } + + public String getIndex_routing() { + return index_routing; + } + + public void setIndex_routing(String index_routing) { + this.index_routing = index_routing; + } } diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/support/ReactiveElasticsearchRepositoryFactory.java b/src/main/java/org/springframework/data/elasticsearch/repository/support/ReactiveElasticsearchRepositoryFactory.java index 72025e88f..d7f2b9788 100644 --- a/src/main/java/org/springframework/data/elasticsearch/repository/support/ReactiveElasticsearchRepositoryFactory.java +++ b/src/main/java/org/springframework/data/elasticsearch/repository/support/ReactiveElasticsearchRepositoryFactory.java @@ -15,9 +15,6 @@ */ package org.springframework.data.elasticsearch.repository.support; -import lombok.AccessLevel; -import lombok.RequiredArgsConstructor; - import java.io.Serializable; import java.lang.reflect.Method; import java.util.Optional; @@ -128,13 +125,25 @@ public class ReactiveElasticsearchRepositoryFactory extends ReactiveRepositoryFa /** * @author Christoph Strobl */ - @RequiredArgsConstructor(access = AccessLevel.PACKAGE) private static class ElasticsearchQueryLookupStrategy implements QueryLookupStrategy { private final ReactiveElasticsearchOperations operations; private final QueryMethodEvaluationContextProvider evaluationContextProvider; private final MappingContext, ElasticsearchPersistentProperty> mappingContext; + public ElasticsearchQueryLookupStrategy(ReactiveElasticsearchOperations operations, + QueryMethodEvaluationContextProvider evaluationContextProvider, + MappingContext, ElasticsearchPersistentProperty> mappingContext) { + + Assert.notNull(operations, "operations must not be null"); + Assert.notNull(evaluationContextProvider, "evaluationContextProvider must not be null"); + Assert.notNull(mappingContext, "mappingContext must not be null"); + + this.operations = operations; + this.evaluationContextProvider = evaluationContextProvider; + this.mappingContext = mappingContext; + } + /* * (non-Javadoc) * @see org.springframework.data.repository.query.QueryLookupStrategy#resolveQuery(java.lang.reflect.Method, org.springframework.data.repository.core.RepositoryMetadata, org.springframework.data.projection.ProjectionFactory, org.springframework.data.repository.core.NamedQueries)