From 7a95f928a67c5f4add2f54815a8993d7c73af51a Mon Sep 17 00:00:00 2001 From: Peter-Josef Meisch Date: Sat, 25 Sep 2021 18:40:46 +0200 Subject: [PATCH] Move classes using Elasticsearch code to separate package. --- ...elasticsearch-migration-guide-4.3-4.4.adoc | 14 + ...actElasticsearchRestTransportTemplate.java | 9 +- .../CriteriaFilterProcessor.java | 4 +- .../CriteriaQueryProcessor.java | 2 +- .../ElasticsearchAggregation.java | 2 +- .../ElasticsearchAggregations.java | 2 +- .../ElasticsearchExceptionTranslator.java | 2 +- .../ElasticsearchRestTemplate.java | 19 +- .../ElasticsearchTemplate.java | 19 +- .../ReactiveElasticsearchTemplate.java | 17 +- .../ReactiveIndexTemplate.java | 8 +- .../elasticsearch7}/RequestFactory.java | 12 +- .../elasticsearch7}/ResponseConverter.java | 4 +- .../elasticsearch7}/RestIndexTemplate.java | 6 +- .../elasticsearch7}/SearchHitsUtil.java | 2 +- .../TransportIndexTemplate.java | 6 +- .../elasticsearch7}/client/ClusterNodes.java | 2 +- .../client/RestClientFactoryBean.java | 2 +- .../elasticsearch7}/client/RestClients.java | 4 +- .../client/TransportClientFactoryBean.java | 2 +- .../elasticsearch7/client/package-info.java | 3 + .../DefaultReactiveElasticsearchClient.java | 17 +- .../reactive/DefaultRequestCreator.java | 22 ++ .../client/reactive/RawActionResponse.java | 11 +- .../reactive/ReactiveElasticsearchClient.java | 3 +- .../client/reactive/RequestCreator.java | 19 +- .../client/util/NamedXContents.java | 4 +- .../client/util/RequestConverters.java | 4 +- .../cluster/DefaultClusterOperations.java | 8 +- .../DefaultReactiveClusterOperations.java | 6 +- .../DefaultTransportClusterOperations.java | 8 +- .../ElasticsearchClusterOperations.java | 54 +++ .../elasticsearch7/cluster/package-info.java | 6 + .../AbstractElasticsearchConfiguration.java | 5 +- ...actReactiveElasticsearchConfiguration.java | 7 +- .../document/DocumentAdapters.java | 8 +- .../document/SearchDocumentResponse.java | 5 +- .../backend/elasticsearch7/package-info.java | 22 ++ .../query/HighlightQueryBuilder.java | 2 +- .../query/NativeSearchQuery.java | 4 +- .../query/NativeSearchQueryBuilder.java | 7 +- .../elasticsearch7/query/ScriptField.java | 41 +++ .../elasticsearch/backend/package-info.java | 23 ++ .../client/ClientConfiguration.java | 1 + .../client/ClientConfigurationBuilder.java | 3 +- .../client/DefaultClientConfiguration.java | 1 + .../reactive/DefaultRequestCreator.java | 7 - .../client/reactive/ReactiveRestClients.java | 3 + .../ElasticsearchConfigurationSupport.java | 1 + .../RestClientBeanDefinitionParser.java | 4 +- .../TransportClientBeanDefinitionParser.java | 10 +- .../core/AbstractElasticsearchTemplate.java | 3 +- .../core/AbstractIndexTemplate.java | 3 +- .../elasticsearch/core/EntityOperations.java | 7 +- .../core/ReactiveElasticsearchOperations.java | 3 +- .../core/ReactiveSearchOperations.java | 9 +- .../elasticsearch/core/SearchHitMapping.java | 10 +- .../elasticsearch/core/SearchOperations.java | 13 +- .../clients/elasticsearch7/package-info.java | 6 - .../core/cluster/ClusterOperations.java | 30 -- .../core/document/SearchDocument.java | 3 +- .../core/index/MappingBuilder.java | 2 +- .../elasticsearch/core/query/ScriptField.java | 26 -- .../SimpleElasticsearchRepository.java | 4 +- ...SimpleReactiveElasticsearchRepository.java | 4 +- .../config/spring-elasticsearch-1.0.xsd | 288 ++++++++-------- .../config/spring-elasticsearch-3.2.xsd | 326 +++++++++--------- .../config/spring-elasticsearch-4.0.xsd | 326 +++++++++--------- .../JUnit5SampleRestClientBasedTests.java | 4 +- ...JUnit5SampleTransportClientBasedTests.java | 2 +- .../data/elasticsearch/NestedObjectTests.java | 7 +- .../CriteriaQueryMappingUnitTests.java | 2 +- .../CriteriaQueryProcessorUnitTests.java | 2 +- .../elasticsearch7}/RequestFactoryTests.java | 4 +- .../client/ClusterNodesUnitTests.java | 4 +- .../client/RestClientsTest.java | 6 +- ...efaultReactiveElasticsearchClientTest.java | 3 +- ...veElasticsearchClientIntegrationTests.java | 2 +- .../ReactiveElasticsearchClientUnitTests.java | 4 +- .../client/util/RequestConvertersTest.java | 2 +- .../client/util/package-info.java | 3 + .../BlockHoundIntegrationCustomizer.java | 7 +- .../client/ClientConfigurationUnitTests.java | 1 + ...icsearchConfigurationSupportUnitTests.java | 18 +- .../ElasticsearchConfigurationTests.java | 2 +- .../ElasticsearchNamespaceHandlerTests.java | 4 +- ...actElasticsearchTemplateCallbackTests.java | 16 +- .../core/DocumentAdaptersUnitTests.java | 2 +- ...ElasticsearchExceptionTranslatorTests.java | 1 + .../core/ElasticsearchPartQueryTests.java | 3 +- ...lasticsearchRestTemplateCallbackTests.java | 1 + .../core/ElasticsearchRestTemplateTests.java | 4 +- .../core/ElasticsearchTemplateTests.java | 4 + ...csearchTransportTemplateCallbackTests.java | 1 + .../ElasticsearchTransportTemplateTests.java | 5 +- .../elasticsearch/core/InnerHitsTests.java | 4 +- .../elasticsearch/core/LogEntityTests.java | 4 +- ...iveElasticsearchTemplateCallbackTests.java | 25 +- ...ElasticsearchTemplateIntegrationTests.java | 18 +- ...eactiveElasticsearchTemplateUnitTests.java | 5 +- .../core/SearchAsYouTypeTests.java | 18 +- ...ElasticsearchTemplateAggregationTests.java | 8 +- .../geo/ElasticsearchTemplateGeoTests.java | 2 +- .../index/MappingBuilderIntegrationTests.java | 4 +- ...NamingStrategyIntegrationReactiveTest.java | 2 +- .../FieldNamingStrategyIntegrationTest.java | 2 +- .../query/HighlightQueryBuilderTests.java | 1 + .../ElasticsearchOperationsRoutingTests.java | 2 +- ...veElasticsearchOperationsRoutingTests.java | 4 +- .../ElasticsearchTemplateCompletionTests.java | 4 +- ...searchTemplateSuggestIntegrationTests.java | 4 +- ...lasticsearchRestTemplateConfiguration.java | 9 +- .../ElasticsearchTemplateConfiguration.java | 5 +- ...lasticsearchRestTemplateConfiguration.java | 4 +- .../cdi/ElasticsearchOperationsProducer.java | 4 +- ...ettingAndMappingEntityRepositoryTests.java | 13 +- .../repositories/spel/SpELEntityTests.java | 13 +- .../synonym/SynonymRepositoryTests.java | 17 +- .../UUIDElasticsearchRepositoryTests.java | 4 +- ...asticsearchRepositoryIntegrationTests.java | 4 +- .../config/namespace/namespace.xml | 24 +- 121 files changed, 1034 insertions(+), 804 deletions(-) create mode 100644 src/main/asciidoc/reference/elasticsearch-migration-guide-4.3-4.4.adoc rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/AbstractElasticsearchRestTransportTemplate.java (94%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/CriteriaFilterProcessor.java (98%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/CriteriaQueryProcessor.java (99%) rename src/main/java/org/springframework/data/elasticsearch/{core/clients => backend}/elasticsearch7/ElasticsearchAggregation.java (94%) rename src/main/java/org/springframework/data/elasticsearch/{core/clients => backend}/elasticsearch7/ElasticsearchAggregations.java (94%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/ElasticsearchExceptionTranslator.java (98%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/ElasticsearchRestTemplate.java (93%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/ElasticsearchTemplate.java (94%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/ReactiveElasticsearchTemplate.java (97%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/ReactiveIndexTemplate.java (96%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/RequestFactory.java (98%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/ResponseConverter.java (98%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/RestIndexTemplate.java (96%) rename src/main/java/org/springframework/data/elasticsearch/{support => backend/elasticsearch7}/SearchHitsUtil.java (93%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/TransportIndexTemplate.java (96%) rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/ClusterNodes.java (97%) rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/RestClientFactoryBean.java (97%) rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/RestClients.java (97%) rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/TransportClientFactoryBean.java (98%) create mode 100644 src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/package-info.java rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/reactive/DefaultReactiveElasticsearchClient.java (97%) create mode 100644 src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/DefaultRequestCreator.java rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/reactive/RawActionResponse.java (87%) rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/reactive/ReactiveElasticsearchClient.java (99%) rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/reactive/RequestCreator.java (90%) rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/util/NamedXContents.java (98%) rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/util/RequestConverters.java (99%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/cluster/DefaultClusterOperations.java (77%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/cluster/DefaultReactiveClusterOperations.java (81%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/cluster/DefaultTransportClusterOperations.java (77%) create mode 100644 src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/ElasticsearchClusterOperations.java create mode 100644 src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/package-info.java rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/config/AbstractElasticsearchConfiguration.java (87%) rename src/main/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/config/AbstractReactiveElasticsearchConfiguration.java (87%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/document/DocumentAdapters.java (97%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/document/SearchDocumentResponse.java (97%) create mode 100644 src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/package-info.java rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/query/HighlightQueryBuilder.java (98%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/query/NativeSearchQuery.java (96%) rename src/main/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/query/NativeSearchQueryBuilder.java (96%) create mode 100644 src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/ScriptField.java create mode 100644 src/main/java/org/springframework/data/elasticsearch/backend/package-info.java delete mode 100644 src/main/java/org/springframework/data/elasticsearch/client/reactive/DefaultRequestCreator.java delete mode 100644 src/main/java/org/springframework/data/elasticsearch/core/clients/elasticsearch7/package-info.java delete mode 100644 src/main/java/org/springframework/data/elasticsearch/core/query/ScriptField.java rename src/test/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/CriteriaQueryMappingUnitTests.java (99%) rename src/test/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/CriteriaQueryProcessorUnitTests.java (99%) rename src/test/java/org/springframework/data/elasticsearch/{core => backend/elasticsearch7}/RequestFactoryTests.java (99%) rename src/test/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/ClusterNodesUnitTests.java (96%) rename src/test/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/RestClientsTest.java (96%) rename src/test/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/reactive/DefaultReactiveElasticsearchClientTest.java (96%) rename src/test/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/reactive/ReactiveElasticsearchClientIntegrationTests.java (99%) rename src/test/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/reactive/ReactiveElasticsearchClientUnitTests.java (98%) rename src/test/java/org/springframework/data/elasticsearch/{ => backend/elasticsearch7}/client/util/RequestConvertersTest.java (97%) create mode 100644 src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/package-info.java diff --git a/src/main/asciidoc/reference/elasticsearch-migration-guide-4.3-4.4.adoc b/src/main/asciidoc/reference/elasticsearch-migration-guide-4.3-4.4.adoc new file mode 100644 index 000000000..635e2baa2 --- /dev/null +++ b/src/main/asciidoc/reference/elasticsearch-migration-guide-4.3-4.4.adoc @@ -0,0 +1,14 @@ +[[elasticsearch-migration-guide-4.3-4.4]] += Upgrading from 4.3.x to 4.4.x + +This section describes breaking changes from version 4.3.x to 4.4.x and how removed features can be replaced by new introduced features. + +[[elasticsearch-migration-guide-4.3-4.4.deprecations]] +== Deprecations + +[[elasticsearch-migration-guide-4.3-4.4.breaking-changes]] +== Breaking Changes + +=== Package changes + +* The package `org.springframework.data.elasticsearch.core.clients.elasticsearch7` has been renamed to `org.springframework.data.elasticsearch.core.backend.elasticsearch7`. diff --git a/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchRestTransportTemplate.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/AbstractElasticsearchRestTransportTemplate.java similarity index 94% rename from src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchRestTransportTemplate.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/AbstractElasticsearchRestTransportTemplate.java index cdaf7c36f..3e420642a 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchRestTransportTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/AbstractElasticsearchRestTransportTemplate.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.backend.elasticsearch7; import java.util.ArrayList; import java.util.HashMap; @@ -34,10 +34,13 @@ import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.suggest.SuggestBuilder; import org.springframework.data.elasticsearch.BulkFailureException; -import org.springframework.data.elasticsearch.core.document.SearchDocumentResponse; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.SearchDocumentResponse; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate; +import org.springframework.data.elasticsearch.core.IndexedObjectInformation; +import org.springframework.data.elasticsearch.core.SearchHits; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.MoreLikeThisQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.util.Assert; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/CriteriaFilterProcessor.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaFilterProcessor.java similarity index 98% rename from src/main/java/org/springframework/data/elasticsearch/core/CriteriaFilterProcessor.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaFilterProcessor.java index ee527a670..87cbcc143 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/CriteriaFilterProcessor.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaFilterProcessor.java @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * https://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.clients.elasticsearch7; import static org.springframework.data.elasticsearch.core.query.Criteria.*; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/CriteriaQueryProcessor.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaQueryProcessor.java similarity index 99% rename from src/main/java/org/springframework/data/elasticsearch/core/CriteriaQueryProcessor.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaQueryProcessor.java index a6ff7a6fd..ef364ff5b 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/CriteriaQueryProcessor.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaQueryProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.clients.elasticsearch7; import static org.elasticsearch.index.query.Operator.*; import static org.elasticsearch.index.query.QueryBuilders.*; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/clients/elasticsearch7/ElasticsearchAggregation.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchAggregation.java similarity index 94% rename from src/main/java/org/springframework/data/elasticsearch/core/clients/elasticsearch7/ElasticsearchAggregation.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchAggregation.java index d92ead561..8229fb510 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/clients/elasticsearch7/ElasticsearchAggregation.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchAggregation.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core.clients.elasticsearch7; +package org.springframework.data.elasticsearch.clients.elasticsearch7; import org.elasticsearch.search.aggregations.Aggregation; import org.springframework.data.elasticsearch.core.AggregationContainer; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/clients/elasticsearch7/ElasticsearchAggregations.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchAggregations.java similarity index 94% rename from src/main/java/org/springframework/data/elasticsearch/core/clients/elasticsearch7/ElasticsearchAggregations.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchAggregations.java index 747715681..efb6bd20a 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/clients/elasticsearch7/ElasticsearchAggregations.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchAggregations.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core.clients.elasticsearch7; +package org.springframework.data.elasticsearch.clients.elasticsearch7; import org.elasticsearch.search.aggregations.Aggregations; import org.springframework.data.elasticsearch.core.AggregationsContainer; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchExceptionTranslator.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchExceptionTranslator.java similarity index 98% rename from src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchExceptionTranslator.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchExceptionTranslator.java index 740f945c7..cb5e8e489 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchExceptionTranslator.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchExceptionTranslator.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.backend.elasticsearch7; import java.io.IOException; import java.util.List; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchRestTemplate.java similarity index 93% rename from src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchRestTemplate.java index 1d73a2b72..a233f431f 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchRestTemplate.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.backend.elasticsearch7; import java.io.IOException; import java.util.List; @@ -45,10 +45,20 @@ import org.elasticsearch.search.suggest.SuggestBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.elasticsearch.backend.elasticsearch7.cluster.ElasticsearchClusterOperations; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.DocumentAdapters; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.SearchDocumentResponse; +import org.springframework.data.elasticsearch.clients.elasticsearch7.RequestFactory; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; +import org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate; +import org.springframework.data.elasticsearch.core.IndexOperations; +import org.springframework.data.elasticsearch.core.IndexedObjectInformation; +import org.springframework.data.elasticsearch.core.MultiGetItem; +import org.springframework.data.elasticsearch.core.RefreshPolicy; +import org.springframework.data.elasticsearch.core.SearchHits; +import org.springframework.data.elasticsearch.core.SearchScrollHits; import org.springframework.data.elasticsearch.core.cluster.ClusterOperations; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; -import org.springframework.data.elasticsearch.core.document.DocumentAdapters; -import org.springframework.data.elasticsearch.core.document.SearchDocumentResponse; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.BulkOptions; import org.springframework.data.elasticsearch.core.query.ByQueryResponse; @@ -56,7 +66,6 @@ import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.core.query.UpdateQuery; import org.springframework.data.elasticsearch.core.query.UpdateResponse; -import org.springframework.data.elasticsearch.support.SearchHitsUtil; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -147,7 +156,7 @@ public IndexOperations indexOps(IndexCoordinates index) { // region ClusterOperations @Override public ClusterOperations cluster() { - return ClusterOperations.forTemplate(this); + return ElasticsearchClusterOperations.forTemplate(this); } // endregion diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchTemplate.java similarity index 94% rename from src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchTemplate.java index c58d3f4c6..dddf57b1f 100755 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ElasticsearchTemplate.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.backend.elasticsearch7; import java.util.ArrayList; import java.util.Collection; @@ -46,10 +46,20 @@ import org.elasticsearch.search.suggest.SuggestBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.elasticsearch.backend.elasticsearch7.cluster.ElasticsearchClusterOperations; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.DocumentAdapters; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.SearchDocumentResponse; +import org.springframework.data.elasticsearch.clients.elasticsearch7.RequestFactory; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; +import org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate; +import org.springframework.data.elasticsearch.core.IndexOperations; +import org.springframework.data.elasticsearch.core.IndexedObjectInformation; +import org.springframework.data.elasticsearch.core.MultiGetItem; +import org.springframework.data.elasticsearch.core.RefreshPolicy; +import org.springframework.data.elasticsearch.core.SearchHits; +import org.springframework.data.elasticsearch.core.SearchScrollHits; import org.springframework.data.elasticsearch.core.cluster.ClusterOperations; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; -import org.springframework.data.elasticsearch.core.document.DocumentAdapters; -import org.springframework.data.elasticsearch.core.document.SearchDocumentResponse; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.BulkOptions; import org.springframework.data.elasticsearch.core.query.ByQueryResponse; @@ -57,7 +67,6 @@ import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.core.query.UpdateQuery; import org.springframework.data.elasticsearch.core.query.UpdateResponse; -import org.springframework.data.elasticsearch.support.SearchHitsUtil; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -151,7 +160,7 @@ public IndexOperations indexOps(IndexCoordinates index) { // region ClusterOperations @Override public ClusterOperations cluster() { - return ClusterOperations.forTemplate(this); + return ElasticsearchClusterOperations.forTemplate(this); } // endregion diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplate.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ReactiveElasticsearchTemplate.java similarity index 97% rename from src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplate.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ReactiveElasticsearchTemplate.java index 131711483..aa395bc57 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ReactiveElasticsearchTemplate.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.backend.elasticsearch7; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -56,17 +56,21 @@ import org.springframework.data.elasticsearch.BulkFailureException; import org.springframework.data.elasticsearch.NoSuchIndexException; import org.springframework.data.elasticsearch.UncategorizedElasticsearchException; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.cluster.DefaultReactiveClusterOperations; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.DocumentAdapters; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.SearchDocumentResponse; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ElasticsearchAggregation; +import org.springframework.data.elasticsearch.clients.elasticsearch7.RequestFactory; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; +import org.springframework.data.elasticsearch.core.*; import org.springframework.data.elasticsearch.core.EntityOperations.AdaptibleEntity; -import org.springframework.data.elasticsearch.core.clients.elasticsearch7.ElasticsearchAggregation; -import org.springframework.data.elasticsearch.core.cluster.DefaultReactiveClusterOperations; import org.springframework.data.elasticsearch.core.cluster.ReactiveClusterOperations; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter; import org.springframework.data.elasticsearch.core.document.Document; -import org.springframework.data.elasticsearch.core.document.DocumentAdapters; import org.springframework.data.elasticsearch.core.document.SearchDocument; -import org.springframework.data.elasticsearch.core.document.SearchDocumentResponse; import org.springframework.data.elasticsearch.core.event.ReactiveAfterConvertCallback; import org.springframework.data.elasticsearch.core.event.ReactiveAfterSaveCallback; import org.springframework.data.elasticsearch.core.event.ReactiveBeforeConvertCallback; @@ -77,7 +81,6 @@ import org.springframework.data.elasticsearch.core.query.BulkOptions; import org.springframework.data.elasticsearch.core.query.ByQueryResponse; import org.springframework.data.elasticsearch.core.query.IndexQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.core.query.SeqNoPrimaryTerm; import org.springframework.data.elasticsearch.core.query.UpdateQuery; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ReactiveIndexTemplate.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ReactiveIndexTemplate.java similarity index 96% rename from src/main/java/org/springframework/data/elasticsearch/core/ReactiveIndexTemplate.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ReactiveIndexTemplate.java index 2133ab578..0b83eeb14 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/ReactiveIndexTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ReactiveIndexTemplate.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.backend.elasticsearch7; import static org.elasticsearch.client.Requests.*; import static org.springframework.util.StringUtils.*; @@ -42,6 +42,12 @@ import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.elasticsearch.NoSuchIndexException; import org.springframework.data.elasticsearch.annotations.Mapping; +import org.springframework.data.elasticsearch.clients.elasticsearch7.RequestFactory; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; +import org.springframework.data.elasticsearch.core.IndexInformation; +import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations; +import org.springframework.data.elasticsearch.core.ReactiveIndexOperations; +import org.springframework.data.elasticsearch.core.ReactiveResourceUtil; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.document.Document; import org.springframework.data.elasticsearch.core.index.AliasActions; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/RequestFactory.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/RequestFactory.java similarity index 98% rename from src/main/java/org/springframework/data/elasticsearch/core/RequestFactory.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/RequestFactory.java index 8d9db44a6..3fc5a78bf 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/RequestFactory.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/RequestFactory.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.clients.elasticsearch7; import static org.elasticsearch.index.query.QueryBuilders.*; import static org.springframework.util.CollectionUtils.*; @@ -97,6 +97,11 @@ import org.elasticsearch.search.suggest.SuggestBuilder; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.domain.Sort; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.HighlightQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.ScriptField; +import org.springframework.data.elasticsearch.core.RefreshPolicy; +import org.springframework.data.elasticsearch.core.ScriptType; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.document.Document; import org.springframework.data.elasticsearch.core.index.AliasAction; @@ -127,10 +132,11 @@ * @author Peer Mueller * @since 4.0 */ -class RequestFactory { +// todo make package private again after refactoring +public class RequestFactory { // the default max result window size of Elasticsearch - static final Integer INDEX_MAX_RESULT_WINDOW = 10_000; + public static final Integer INDEX_MAX_RESULT_WINDOW = 10_000; private final ElasticsearchConverter elasticsearchConverter; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ResponseConverter.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ResponseConverter.java similarity index 98% rename from src/main/java/org/springframework/data/elasticsearch/core/ResponseConverter.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ResponseConverter.java index 7d8da4053..3b442de7b 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/ResponseConverter.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/ResponseConverter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.clients.elasticsearch7; import java.util.ArrayList; import java.util.Collections; @@ -40,6 +40,8 @@ import org.elasticsearch.common.compress.CompressedXContent; import org.elasticsearch.index.reindex.BulkByScrollResponse; import org.elasticsearch.index.reindex.ScrollableHitSource; +import org.springframework.data.elasticsearch.core.IndexInformation; +import org.springframework.data.elasticsearch.core.MultiGetItem; import org.springframework.data.elasticsearch.core.cluster.ClusterHealth; import org.springframework.data.elasticsearch.core.document.Document; import org.springframework.data.elasticsearch.core.index.AliasData; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/RestIndexTemplate.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/RestIndexTemplate.java similarity index 96% rename from src/main/java/org/springframework/data/elasticsearch/core/RestIndexTemplate.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/RestIndexTemplate.java index 23df5306f..5743a6cb1 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/RestIndexTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/RestIndexTemplate.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.backend.elasticsearch7; import java.util.Collections; import java.util.List; @@ -40,6 +40,10 @@ import org.elasticsearch.cluster.metadata.MappingMetadata; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; +import org.springframework.data.elasticsearch.core.AbstractIndexTemplate; +import org.springframework.data.elasticsearch.core.IndexInformation; +import org.springframework.data.elasticsearch.core.IndexOperations; import org.springframework.data.elasticsearch.core.document.Document; import org.springframework.data.elasticsearch.core.index.AliasActions; import org.springframework.data.elasticsearch.core.index.AliasData; diff --git a/src/main/java/org/springframework/data/elasticsearch/support/SearchHitsUtil.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/SearchHitsUtil.java similarity index 93% rename from src/main/java/org/springframework/data/elasticsearch/support/SearchHitsUtil.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/SearchHitsUtil.java index 2d44fe6c2..422d265ae 100644 --- a/src/main/java/org/springframework/data/elasticsearch/support/SearchHitsUtil.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/SearchHitsUtil.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.support; +package org.springframework.data.elasticsearch.backend.elasticsearch7; import org.elasticsearch.search.SearchHits; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/TransportIndexTemplate.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/TransportIndexTemplate.java similarity index 96% rename from src/main/java/org/springframework/data/elasticsearch/core/TransportIndexTemplate.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/TransportIndexTemplate.java index a08989776..9c61daa60 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/TransportIndexTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/TransportIndexTemplate.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.backend.elasticsearch7; import java.util.Collections; import java.util.HashSet; @@ -47,6 +47,10 @@ import org.elasticsearch.common.compress.CompressedXContent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; +import org.springframework.data.elasticsearch.core.AbstractIndexTemplate; +import org.springframework.data.elasticsearch.core.IndexInformation; +import org.springframework.data.elasticsearch.core.IndexOperations; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.document.Document; import org.springframework.data.elasticsearch.core.index.AliasActions; diff --git a/src/main/java/org/springframework/data/elasticsearch/client/ClusterNodes.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/ClusterNodes.java similarity index 97% rename from src/main/java/org/springframework/data/elasticsearch/client/ClusterNodes.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/ClusterNodes.java index bc556ad34..9461bd7a9 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/ClusterNodes.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/ClusterNodes.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client; import java.net.InetAddress; import java.net.UnknownHostException; diff --git a/src/main/java/org/springframework/data/elasticsearch/client/RestClientFactoryBean.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/RestClientFactoryBean.java similarity index 97% rename from src/main/java/org/springframework/data/elasticsearch/client/RestClientFactoryBean.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/RestClientFactoryBean.java index 7c188694b..629e2cf72 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/RestClientFactoryBean.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/RestClientFactoryBean.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client; import java.net.URL; import java.util.ArrayList; diff --git a/src/main/java/org/springframework/data/elasticsearch/client/RestClients.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/RestClients.java similarity index 97% rename from src/main/java/org/springframework/data/elasticsearch/client/RestClients.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/RestClients.java index 2dc0810aa..03c22a316 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/RestClients.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/RestClients.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client; import java.io.ByteArrayOutputStream; import java.io.Closeable; @@ -43,6 +43,8 @@ import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; import org.elasticsearch.client.RestHighLevelClient; +import org.springframework.data.elasticsearch.client.ClientConfiguration; +import org.springframework.data.elasticsearch.client.ClientLogger; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.util.Assert; diff --git a/src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/TransportClientFactoryBean.java similarity index 98% rename from src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/TransportClientFactoryBean.java index 2873dc6f9..55c568bfe 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/TransportClientFactoryBean.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client; import java.util.Properties; diff --git a/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/package-info.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/package-info.java new file mode 100644 index 000000000..e5cc8e897 --- /dev/null +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/package-info.java @@ -0,0 +1,3 @@ +@org.springframework.lang.NonNullApi +@org.springframework.lang.NonNullFields +package org.springframework.data.elasticsearch.backend.elasticsearch7.client; diff --git a/src/main/java/org/springframework/data/elasticsearch/client/reactive/DefaultReactiveElasticsearchClient.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/DefaultReactiveElasticsearchClient.java similarity index 97% rename from src/main/java/org/springframework/data/elasticsearch/client/reactive/DefaultReactiveElasticsearchClient.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/DefaultReactiveElasticsearchClient.java index 0fc131c12..2a7bfcfa2 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/reactive/DefaultReactiveElasticsearchClient.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/DefaultReactiveElasticsearchClient.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client.reactive; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive; import io.netty.channel.ChannelOption; import io.netty.handler.ssl.ApplicationProtocolConfig; @@ -103,16 +103,20 @@ import org.reactivestreams.Publisher; import org.springframework.data.elasticsearch.RestStatusException; import org.springframework.data.elasticsearch.UncategorizedElasticsearchException; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient.Cluster; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient.Indices; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.util.NamedXContents; import org.springframework.data.elasticsearch.client.ClientConfiguration; import org.springframework.data.elasticsearch.client.ClientLogger; import org.springframework.data.elasticsearch.client.ElasticsearchHost; import org.springframework.data.elasticsearch.client.NoReachableHostException; +import org.springframework.data.elasticsearch.client.reactive.HostProvider; import org.springframework.data.elasticsearch.client.reactive.HostProvider.Verification; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient.Cluster; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient.Indices; -import org.springframework.data.elasticsearch.client.util.NamedXContents; +import org.springframework.data.elasticsearch.client.reactive.ReactiveRestClients; +import org.springframework.data.elasticsearch.client.reactive.RequestBodyEncodingException; +import org.springframework.data.elasticsearch.client.reactive.WebClientProvider; import org.springframework.data.elasticsearch.client.util.ScrollState; -import org.springframework.data.elasticsearch.core.ResponseConverter; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; import org.springframework.data.elasticsearch.core.query.ByQueryResponse; import org.springframework.data.util.Lazy; import org.springframework.http.HttpHeaders; @@ -147,6 +151,7 @@ * @see ClientConfiguration * @see ReactiveRestClients */ +// todo package private after refactoring public class DefaultReactiveElasticsearchClient implements ReactiveElasticsearchClient, Indices, Cluster { private final HostProvider hostProvider; @@ -971,7 +976,7 @@ static class ClientStatus implements Status { /* * (non-Javadoc) - * @see org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient.Status#hosts() + * @see org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient.Status#hosts() */ @Override public Collection hosts() { diff --git a/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/DefaultRequestCreator.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/DefaultRequestCreator.java new file mode 100644 index 000000000..8f7312b32 --- /dev/null +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/DefaultRequestCreator.java @@ -0,0 +1,22 @@ +/* + * Copyright 2021 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive; + +/** + * @author Roman Puchkovskiy + * @since 4.0 + */ +class DefaultRequestCreator implements RequestCreator {} diff --git a/src/main/java/org/springframework/data/elasticsearch/client/reactive/RawActionResponse.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/RawActionResponse.java similarity index 87% rename from src/main/java/org/springframework/data/elasticsearch/client/reactive/RawActionResponse.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/RawActionResponse.java index 9de0bfb5d..8f03f2c29 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/reactive/RawActionResponse.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/RawActionResponse.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client.reactive; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive; import reactor.core.publisher.Mono; @@ -21,7 +21,6 @@ import org.elasticsearch.action.ActionResponse; import org.elasticsearch.common.io.stream.StreamOutput; - import org.springframework.http.HttpStatus; import org.springframework.http.client.reactive.ClientHttpResponse; import org.springframework.web.reactive.function.BodyExtractor; @@ -35,7 +34,8 @@ * @author Mark Paluch * @since 3.2 */ -class RawActionResponse extends ActionResponse { +// todo make package private again after refactoring? +public class RawActionResponse extends ActionResponse { private final ClientResponse delegate; @@ -43,7 +43,7 @@ private RawActionResponse(ClientResponse delegate) { this.delegate = delegate; } - static RawActionResponse create(ClientResponse response) { + public static RawActionResponse create(ClientResponse response) { return new RawActionResponse(response); } @@ -72,8 +72,7 @@ public T body(BodyExtractor extractor) { * until Elasticsearch 7.4 this empty implementation was available in the abstract base class */ @Override - public void writeTo(StreamOutput out) throws IOException { - } + public void writeTo(StreamOutput out) throws IOException {} /** * Ensure the response body is released to properly release the underlying connection. diff --git a/src/main/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClient.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/ReactiveElasticsearchClient.java similarity index 99% rename from src/main/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClient.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/ReactiveElasticsearchClient.java index e2c628803..d32958085 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClient.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/ReactiveElasticsearchClient.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client.reactive; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -60,6 +60,7 @@ import org.elasticsearch.search.suggest.Suggest; import org.springframework.data.elasticsearch.client.ClientConfiguration; import org.springframework.data.elasticsearch.client.ElasticsearchHost; +import org.springframework.data.elasticsearch.client.reactive.ReactiveRestClients; import org.springframework.data.elasticsearch.core.query.ByQueryResponse; import org.springframework.http.HttpHeaders; import org.springframework.util.Assert; diff --git a/src/main/java/org/springframework/data/elasticsearch/client/reactive/RequestCreator.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/RequestCreator.java similarity index 90% rename from src/main/java/org/springframework/data/elasticsearch/client/reactive/RequestCreator.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/RequestCreator.java index 61f5ac25e..c041f0335 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/reactive/RequestCreator.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/RequestCreator.java @@ -1,4 +1,19 @@ -package org.springframework.data.elasticsearch.client.reactive; +/* + * Copyright 2021 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive; import java.io.IOException; import java.util.function.Function; @@ -37,7 +52,7 @@ import org.elasticsearch.index.reindex.UpdateByQueryRequest; import org.elasticsearch.script.mustache.SearchTemplateRequest; import org.springframework.data.elasticsearch.UncategorizedElasticsearchException; -import org.springframework.data.elasticsearch.client.util.RequestConverters; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.util.RequestConverters; /** * @author Roman Puchkovskiy diff --git a/src/main/java/org/springframework/data/elasticsearch/client/util/NamedXContents.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/NamedXContents.java similarity index 98% rename from src/main/java/org/springframework/data/elasticsearch/client/util/NamedXContents.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/NamedXContents.java index f36ff6fb3..ad45b59b6 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/util/NamedXContents.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/NamedXContents.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client.util; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.util; import java.util.HashMap; import java.util.List; @@ -78,7 +78,7 @@ import org.elasticsearch.search.suggest.phrase.PhraseSuggestionBuilder; import org.elasticsearch.search.suggest.term.TermSuggestion; import org.elasticsearch.search.suggest.term.TermSuggestionBuilder; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; /** *

diff --git a/src/main/java/org/springframework/data/elasticsearch/client/util/RequestConverters.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/RequestConverters.java similarity index 99% rename from src/main/java/org/springframework/data/elasticsearch/client/util/RequestConverters.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/RequestConverters.java index f1d7b4d75..29bd12249 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/util/RequestConverters.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/RequestConverters.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client.util; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.util; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -101,7 +101,7 @@ import org.elasticsearch.script.mustache.SearchTemplateRequest; import org.elasticsearch.search.fetch.subphase.FetchSourceContext; import org.elasticsearch.tasks.TaskId; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; import org.springframework.http.HttpMethod; import org.springframework.lang.Nullable; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/cluster/DefaultClusterOperations.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/DefaultClusterOperations.java similarity index 77% rename from src/main/java/org/springframework/data/elasticsearch/core/cluster/DefaultClusterOperations.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/DefaultClusterOperations.java index 0c0590a27..a50954978 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/cluster/DefaultClusterOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/DefaultClusterOperations.java @@ -13,13 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core.cluster; +package org.springframework.data.elasticsearch.backend.elasticsearch7.cluster; import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest; import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; import org.elasticsearch.client.RequestOptions; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; -import org.springframework.data.elasticsearch.core.ResponseConverter; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchRestTemplate; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; +import org.springframework.data.elasticsearch.core.cluster.ClusterHealth; +import org.springframework.data.elasticsearch.core.cluster.ClusterOperations; /** * Default implementation of {@link ClusterOperations} using the {@link ElasticsearchRestTemplate}. diff --git a/src/main/java/org/springframework/data/elasticsearch/core/cluster/DefaultReactiveClusterOperations.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/DefaultReactiveClusterOperations.java similarity index 81% rename from src/main/java/org/springframework/data/elasticsearch/core/cluster/DefaultReactiveClusterOperations.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/DefaultReactiveClusterOperations.java index 689b18545..241e34127 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/cluster/DefaultReactiveClusterOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/DefaultReactiveClusterOperations.java @@ -13,13 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core.cluster; +package org.springframework.data.elasticsearch.backend.elasticsearch7.cluster; import reactor.core.publisher.Mono; import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ResponseConverter; +import org.springframework.data.elasticsearch.core.cluster.ClusterHealth; +import org.springframework.data.elasticsearch.core.cluster.ReactiveClusterOperations; /** * Default implementation of {@link ReactiveClusterOperations} using the {@link ReactiveElasticsearchOperations}. diff --git a/src/main/java/org/springframework/data/elasticsearch/core/cluster/DefaultTransportClusterOperations.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/DefaultTransportClusterOperations.java similarity index 77% rename from src/main/java/org/springframework/data/elasticsearch/core/cluster/DefaultTransportClusterOperations.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/DefaultTransportClusterOperations.java index 9edb916e2..180b71ea4 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/cluster/DefaultTransportClusterOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/DefaultTransportClusterOperations.java @@ -13,12 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core.cluster; +package org.springframework.data.elasticsearch.backend.elasticsearch7.cluster; import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest; import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; -import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; -import org.springframework.data.elasticsearch.core.ResponseConverter; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchTemplate; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; +import org.springframework.data.elasticsearch.core.cluster.ClusterHealth; +import org.springframework.data.elasticsearch.core.cluster.ClusterOperations; /** * Default implementation of {@link ClusterOperations} using the diff --git a/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/ElasticsearchClusterOperations.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/ElasticsearchClusterOperations.java new file mode 100644 index 000000000..44f4d9c36 --- /dev/null +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/ElasticsearchClusterOperations.java @@ -0,0 +1,54 @@ +/* + * Copyright 2021 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.elasticsearch.backend.elasticsearch7.cluster; + +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchRestTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchTemplate; +import org.springframework.data.elasticsearch.core.cluster.ClusterOperations; +import org.springframework.util.Assert; + +/** + * @author Peter-Josef Meisch + * @since 4.3 + */ +public class ElasticsearchClusterOperations { + /** + * Creates a ClusterOperations for a {@link ElasticsearchRestTemplate}. + * + * @param template the template, must not be {@literal null} + * @return ClusterOperations + */ + public static ClusterOperations forTemplate(ElasticsearchRestTemplate template) { + + Assert.notNull(template, "template must not be null"); + + return new DefaultClusterOperations(template); + } + + /** + * Creates a ClusterOperations for a {@link ElasticsearchTemplate}. + * + * @param template the template, must not be {@literal null} + * @return ClusterOperations + */ + public static ClusterOperations forTemplate(ElasticsearchTemplate template) { + + Assert.notNull(template, "template must not be null"); + + return new DefaultTransportClusterOperations(template); + } + +} diff --git a/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/package-info.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/package-info.java new file mode 100644 index 000000000..3d46034e5 --- /dev/null +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/cluster/package-info.java @@ -0,0 +1,6 @@ +/** + * Interfaces and classes related to Elasticsearch cluster information and management. + */ +@org.springframework.lang.NonNullApi +@org.springframework.lang.NonNullFields +package org.springframework.data.elasticsearch.backend.elasticsearch7.cluster; diff --git a/src/main/java/org/springframework/data/elasticsearch/config/AbstractElasticsearchConfiguration.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/config/AbstractElasticsearchConfiguration.java similarity index 87% rename from src/main/java/org/springframework/data/elasticsearch/config/AbstractElasticsearchConfiguration.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/config/AbstractElasticsearchConfiguration.java index 82722845d..ad64914fa 100644 --- a/src/main/java/org/springframework/data/elasticsearch/config/AbstractElasticsearchConfiguration.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/config/AbstractElasticsearchConfiguration.java @@ -13,12 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.config; +package org.springframework.data.elasticsearch.backend.elasticsearch7.config; import org.elasticsearch.client.RestHighLevelClient; import org.springframework.context.annotation.Bean; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchRestTemplate; +import org.springframework.data.elasticsearch.config.ElasticsearchConfigurationSupport; import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; /** diff --git a/src/main/java/org/springframework/data/elasticsearch/config/AbstractReactiveElasticsearchConfiguration.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/config/AbstractReactiveElasticsearchConfiguration.java similarity index 87% rename from src/main/java/org/springframework/data/elasticsearch/config/AbstractReactiveElasticsearchConfiguration.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/config/AbstractReactiveElasticsearchConfiguration.java index c911c9db0..3182bf7e8 100644 --- a/src/main/java/org/springframework/data/elasticsearch/config/AbstractReactiveElasticsearchConfiguration.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/config/AbstractReactiveElasticsearchConfiguration.java @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.config; +package org.springframework.data.elasticsearch.backend.elasticsearch7.config; import org.elasticsearch.action.support.IndicesOptions; import org.springframework.context.annotation.Bean; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ReactiveElasticsearchTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.config.ElasticsearchConfigurationSupport; import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ReactiveElasticsearchTemplate; import org.springframework.data.elasticsearch.core.RefreshPolicy; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.lang.Nullable; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/document/DocumentAdapters.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/document/DocumentAdapters.java similarity index 97% rename from src/main/java/org/springframework/data/elasticsearch/core/document/DocumentAdapters.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/document/DocumentAdapters.java index f5806af36..eae848e62 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/document/DocumentAdapters.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/document/DocumentAdapters.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core.document; +package org.springframework.data.elasticsearch.backend.elasticsearch7.document; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -39,8 +39,12 @@ import org.elasticsearch.index.get.GetResult; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ResponseConverter; import org.springframework.data.elasticsearch.core.MultiGetItem; -import org.springframework.data.elasticsearch.core.ResponseConverter; +import org.springframework.data.elasticsearch.core.document.Document; +import org.springframework.data.elasticsearch.core.document.Explanation; +import org.springframework.data.elasticsearch.core.document.NestedMetaData; +import org.springframework.data.elasticsearch.core.document.SearchDocument; import org.springframework.data.mapping.MappingException; import org.springframework.lang.Nullable; import org.springframework.util.Assert; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/document/SearchDocumentResponse.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/document/SearchDocumentResponse.java similarity index 97% rename from src/main/java/org/springframework/data/elasticsearch/core/document/SearchDocumentResponse.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/document/SearchDocumentResponse.java index f45f425c5..2fda8e46c 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/document/SearchDocumentResponse.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/document/SearchDocumentResponse.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core.document; +package org.springframework.data.elasticsearch.backend.elasticsearch7.document; import java.util.ArrayList; import java.util.List; @@ -25,8 +25,9 @@ import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.aggregations.Aggregations; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ElasticsearchAggregations; import org.springframework.data.elasticsearch.core.AggregationsContainer; -import org.springframework.data.elasticsearch.core.clients.elasticsearch7.ElasticsearchAggregations; +import org.springframework.data.elasticsearch.core.document.SearchDocument; import org.springframework.data.elasticsearch.core.suggest.response.CompletionSuggestion; import org.springframework.data.elasticsearch.core.suggest.response.PhraseSuggestion; import org.springframework.data.elasticsearch.core.suggest.response.SortBy; diff --git a/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/package-info.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/package-info.java new file mode 100644 index 000000000..09aabe527 --- /dev/null +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/package-info.java @@ -0,0 +1,22 @@ +/* + * Copyright 2021 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Classes and interfaces used by the code that uses Elasticsearch 7 client libraries + */ +@org.springframework.lang.NonNullApi +@org.springframework.lang.NonNullFields +package org.springframework.data.elasticsearch.clients.elasticsearch7; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/HighlightQueryBuilder.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/HighlightQueryBuilder.java similarity index 98% rename from src/main/java/org/springframework/data/elasticsearch/core/query/HighlightQueryBuilder.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/HighlightQueryBuilder.java index c5269a39a..154877adf 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/query/HighlightQueryBuilder.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/HighlightQueryBuilder.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core.query; +package org.springframework.data.elasticsearch.backend.elasticsearch7.query; import java.util.Arrays; import java.util.stream.Collectors; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQuery.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/NativeSearchQuery.java similarity index 96% rename from src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQuery.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/NativeSearchQuery.java index fe1ecb662..60d279808 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQuery.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/NativeSearchQuery.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core.query; +package org.springframework.data.elasticsearch.backend.elasticsearch7.query; import java.util.ArrayList; import java.util.Arrays; @@ -27,6 +27,8 @@ import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; import org.elasticsearch.search.sort.SortBuilder; import org.elasticsearch.search.suggest.SuggestBuilder; +import org.springframework.data.elasticsearch.core.query.BaseQuery; +import org.springframework.data.elasticsearch.core.query.IndexBoost; import org.springframework.lang.Nullable; /** diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQueryBuilder.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/NativeSearchQueryBuilder.java similarity index 96% rename from src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQueryBuilder.java rename to src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/NativeSearchQueryBuilder.java index 2830a6600..e0103e50b 100755 --- a/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQueryBuilder.java +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/NativeSearchQueryBuilder.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core.query; +package org.springframework.data.elasticsearch.backend.elasticsearch7.query; import static org.springframework.util.CollectionUtils.*; @@ -33,6 +33,11 @@ import org.elasticsearch.search.sort.SortBuilder; import org.elasticsearch.search.suggest.SuggestBuilder; import org.springframework.data.domain.Pageable; +import org.springframework.data.elasticsearch.core.query.IndexBoost; +import org.springframework.data.elasticsearch.core.query.IndicesOptions; +import org.springframework.data.elasticsearch.core.query.Query; +import org.springframework.data.elasticsearch.core.query.RescorerQuery; +import org.springframework.data.elasticsearch.core.query.SourceFilter; import org.springframework.lang.Nullable; /** diff --git a/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/ScriptField.java b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/ScriptField.java new file mode 100644 index 000000000..23223597a --- /dev/null +++ b/src/main/java/org/springframework/data/elasticsearch/backend/elasticsearch7/query/ScriptField.java @@ -0,0 +1,41 @@ +/* + * Copyright 2021 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.elasticsearch.backend.elasticsearch7.query; + +import org.elasticsearch.script.Script; + +/** + * @author Ryan Murfitt + * @author Artur Konczak + */ +public class ScriptField { + + private final String fieldName; + private final Script script; + + public ScriptField(String fieldName, Script script) { + this.fieldName = fieldName; + this.script = script; + } + + public String fieldName() { + return fieldName; + } + + public Script script() { + return script; + } +} diff --git a/src/main/java/org/springframework/data/elasticsearch/backend/package-info.java b/src/main/java/org/springframework/data/elasticsearch/backend/package-info.java new file mode 100644 index 000000000..8dec1886a --- /dev/null +++ b/src/main/java/org/springframework/data/elasticsearch/backend/package-info.java @@ -0,0 +1,23 @@ +/* + * Copyright 2021 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * This is the base package for the code that uses backend specific classes and libraries, for example Elasticsearch 7 + * or OpenSearch. + */ +@org.springframework.lang.NonNullApi +@org.springframework.lang.NonNullFields +package org.springframework.data.elasticsearch.backend; diff --git a/src/main/java/org/springframework/data/elasticsearch/client/ClientConfiguration.java b/src/main/java/org/springframework/data/elasticsearch/client/ClientConfiguration.java index 88b88a3bd..af3fdd9fb 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/ClientConfiguration.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/ClientConfiguration.java @@ -27,6 +27,7 @@ import javax.net.ssl.SSLContext; import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.RestClients; import org.springframework.data.elasticsearch.client.reactive.ReactiveRestClients; import org.springframework.http.HttpHeaders; import org.springframework.lang.Nullable; diff --git a/src/main/java/org/springframework/data/elasticsearch/client/ClientConfigurationBuilder.java b/src/main/java/org/springframework/data/elasticsearch/client/ClientConfigurationBuilder.java index 219ef3119..56330abda 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/ClientConfigurationBuilder.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/ClientConfigurationBuilder.java @@ -28,6 +28,7 @@ import javax.net.ssl.SSLContext; import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.RestClients; import org.springframework.data.elasticsearch.client.ClientConfiguration.ClientConfigurationBuilderWithRequiredEndpoint; import org.springframework.data.elasticsearch.client.ClientConfiguration.MaybeSecureClientConfigurationBuilder; import org.springframework.data.elasticsearch.client.ClientConfiguration.TerminalClientConfigurationBuilder; @@ -47,7 +48,7 @@ * @author Henrique Amaral * @since 3.2 */ -class ClientConfigurationBuilder +public class ClientConfigurationBuilder implements ClientConfigurationBuilderWithRequiredEndpoint, MaybeSecureClientConfigurationBuilder { private final List hosts = new ArrayList<>(); diff --git a/src/main/java/org/springframework/data/elasticsearch/client/DefaultClientConfiguration.java b/src/main/java/org/springframework/data/elasticsearch/client/DefaultClientConfiguration.java index 615756697..9ddb4cc22 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/DefaultClientConfiguration.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/DefaultClientConfiguration.java @@ -129,6 +129,7 @@ public Function getWebClientConfigurer() { return webClientConfigurer; } + @Deprecated @Override public HttpClientConfigCallback getHttpClientConfigurer() { return httpClientConfigurer; diff --git a/src/main/java/org/springframework/data/elasticsearch/client/reactive/DefaultRequestCreator.java b/src/main/java/org/springframework/data/elasticsearch/client/reactive/DefaultRequestCreator.java deleted file mode 100644 index b5d5c7097..000000000 --- a/src/main/java/org/springframework/data/elasticsearch/client/reactive/DefaultRequestCreator.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.springframework.data.elasticsearch.client.reactive; - -/** - * @author Roman Puchkovskiy - * @since 4.0 - */ -class DefaultRequestCreator implements RequestCreator {} diff --git a/src/main/java/org/springframework/data/elasticsearch/client/reactive/ReactiveRestClients.java b/src/main/java/org/springframework/data/elasticsearch/client/reactive/ReactiveRestClients.java index ee2ca3fd3..e29052dc9 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/reactive/ReactiveRestClients.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/reactive/ReactiveRestClients.java @@ -17,6 +17,9 @@ import java.util.function.Function; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.DefaultReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.RequestCreator; import org.springframework.data.elasticsearch.client.ClientConfiguration; import org.springframework.util.Assert; import org.springframework.web.reactive.function.client.WebClient; 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 d6a3e8152..8746b58d4 100644 --- a/src/main/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupport.java +++ b/src/main/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupport.java @@ -27,6 +27,7 @@ import org.springframework.core.convert.converter.Converter; import org.springframework.core.type.filter.AnnotationTypeFilter; import org.springframework.data.elasticsearch.annotations.Document; +import org.springframework.data.elasticsearch.backend.elasticsearch7.config.AbstractReactiveElasticsearchConfiguration; import org.springframework.data.elasticsearch.core.RefreshPolicy; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.convert.ElasticsearchCustomConversions; diff --git a/src/main/java/org/springframework/data/elasticsearch/config/RestClientBeanDefinitionParser.java b/src/main/java/org/springframework/data/elasticsearch/config/RestClientBeanDefinitionParser.java index bf160cb95..9e7bd4a2f 100644 --- a/src/main/java/org/springframework/data/elasticsearch/config/RestClientBeanDefinitionParser.java +++ b/src/main/java/org/springframework/data/elasticsearch/config/RestClientBeanDefinitionParser.java @@ -16,10 +16,10 @@ package org.springframework.data.elasticsearch.config; import org.springframework.beans.factory.support.AbstractBeanDefinition; -import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser; import org.springframework.beans.factory.support.BeanDefinitionBuilder; +import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; -import org.springframework.data.elasticsearch.client.RestClientFactoryBean; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.RestClientFactoryBean; import org.w3c.dom.Element; /** diff --git a/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java b/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java index c7a6718f1..37d412948 100644 --- a/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java +++ b/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java @@ -19,7 +19,7 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; -import org.springframework.data.elasticsearch.client.TransportClientFactoryBean; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.TransportClientFactoryBean; import org.w3c.dom.Element; /** @@ -43,13 +43,15 @@ private void setConfigurations(Element element, BeanDefinitionBuilder builder) { builder.addPropertyValue("clusterNodes", element.getAttribute("cluster-nodes")); builder.addPropertyValue("clusterName", element.getAttribute("cluster-name")); builder.addPropertyValue("clientTransportSniff", Boolean.valueOf(element.getAttribute("client-transport-sniff"))); - builder.addPropertyValue("clientIgnoreClusterName", Boolean.valueOf(element.getAttribute("client-transport-ignore-cluster-name"))); + builder.addPropertyValue("clientIgnoreClusterName", + Boolean.valueOf(element.getAttribute("client-transport-ignore-cluster-name"))); builder.addPropertyValue("clientPingTimeout", element.getAttribute("client-transport-ping-timeout")); - builder.addPropertyValue("clientNodesSamplerInterval", element.getAttribute("client-transport-nodes-sampler-interval")); + builder.addPropertyValue("clientNodesSamplerInterval", + element.getAttribute("client-transport-nodes-sampler-interval")); } private AbstractBeanDefinition getSourcedBeanDefinition(BeanDefinitionBuilder builder, Element source, - ParserContext context) { + ParserContext context) { AbstractBeanDefinition definition = builder.getBeanDefinition(); definition.setSource(context.extractSource(source)); return definition; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java b/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java index 38c48c26b..70c5285e3 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java @@ -26,10 +26,11 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.data.convert.EntityReader; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.SearchDocumentResponse; +import org.springframework.data.elasticsearch.clients.elasticsearch7.RequestFactory; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter; import org.springframework.data.elasticsearch.core.document.Document; -import org.springframework.data.elasticsearch.core.document.SearchDocumentResponse; import org.springframework.data.elasticsearch.core.event.AfterConvertCallback; import org.springframework.data.elasticsearch.core.event.AfterSaveCallback; import org.springframework.data.elasticsearch.core.event.BeforeConvertCallback; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/AbstractIndexTemplate.java b/src/main/java/org/springframework/data/elasticsearch/core/AbstractIndexTemplate.java index 6706cf1b4..5db3a2ab4 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/AbstractIndexTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/AbstractIndexTemplate.java @@ -25,6 +25,7 @@ import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.elasticsearch.UncategorizedElasticsearchException; import org.springframework.data.elasticsearch.annotations.Mapping; +import org.springframework.data.elasticsearch.clients.elasticsearch7.RequestFactory; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.document.Document; import org.springframework.data.elasticsearch.core.index.AliasData; @@ -42,7 +43,7 @@ * @author Sascha Woo * @since 4.0 */ -abstract class AbstractIndexTemplate implements IndexOperations { +public abstract class AbstractIndexTemplate implements IndexOperations { protected final ElasticsearchConverter elasticsearchConverter; protected final RequestFactory requestFactory; 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 56e5da428..7516b4411 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/EntityOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/EntityOperations.java @@ -40,7 +40,7 @@ * @author Roman Puchkovskiy * @since 3.2 */ -class EntityOperations { +public class EntityOperations { private static final String ID_FIELD = "id"; @@ -81,7 +81,8 @@ Entity forEntity(T entity) { * @return the {@link AdaptibleEntity} */ @SuppressWarnings({ "unchecked", "rawtypes" }) - AdaptibleEntity forEntity(T entity, ConversionService conversionService, RoutingResolver routingResolver) { + public AdaptibleEntity forEntity(T entity, ConversionService conversionService, + RoutingResolver routingResolver) { Assert.notNull(entity, "Bean must not be null!"); Assert.notNull(conversionService, "ConversionService must not be null!"); @@ -198,7 +199,7 @@ default ElasticsearchPersistentEntity getRequiredPersistentEntity() { * @author Mark Paluch * @author Christoph Strobl */ - interface AdaptibleEntity extends Entity { + public interface AdaptibleEntity extends Entity { /** * Populates the identifier of the backing entity if it has an identifier property and there's no identifier diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchOperations.java b/src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchOperations.java index 11bea3f97..645897b7a 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchOperations.java @@ -16,7 +16,8 @@ package org.springframework.data.elasticsearch.core; import org.reactivestreams.Publisher; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ReactiveElasticsearchTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; import org.springframework.data.elasticsearch.core.cluster.ReactiveClusterOperations; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentEntity; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ReactiveSearchOperations.java b/src/main/java/org/springframework/data/elasticsearch/core/ReactiveSearchOperations.java index a3cb7b6c3..50afff454 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/ReactiveSearchOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ReactiveSearchOperations.java @@ -15,6 +15,7 @@ */ package org.springframework.data.elasticsearch.core; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -222,8 +223,8 @@ default Mono> searchForPage(Query query, Class entityType, /** * Does a suggest query. * - * @param query the Query containing the suggest definition. Must be currently a - * {@link org.springframework.data.elasticsearch.core.query.NativeSearchQuery}, must not be {@literal null}. + * @param query the Query containing the suggest definition. Must be currently a {@link NativeSearchQuery}, must not + * be {@literal null}. * @param entityType the type of the entities that might be returned for a completion suggestion, must not be * {@literal null}. * @return suggest data @@ -234,8 +235,8 @@ default Mono> searchForPage(Query query, Class entityType, /** * Does a suggest query. * - * @param query the Query containing the suggest definition. Must be currently a - * {@link org.springframework.data.elasticsearch.core.query.NativeSearchQuery}, must not be {@literal null}. + * @param query the Query containing the suggest definition. Must be currently a {@link NativeSearchQuery}, must not + * be {@literal null}. * @param entityType the type of the entities that might be returned for a completion suggestion, must not be * {@literal null}. * @param index the index to run the query against, must not be {@literal null}. diff --git a/src/main/java/org/springframework/data/elasticsearch/core/SearchHitMapping.java b/src/main/java/org/springframework/data/elasticsearch/core/SearchHitMapping.java index 77e06a3fe..8f01618e2 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/SearchHitMapping.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/SearchHitMapping.java @@ -24,11 +24,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.SearchDocumentResponse; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.document.Document; import org.springframework.data.elasticsearch.core.document.NestedMetaData; import org.springframework.data.elasticsearch.core.document.SearchDocument; -import org.springframework.data.elasticsearch.core.document.SearchDocumentResponse; import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentEntity; import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentProperty; import org.springframework.data.elasticsearch.core.suggest.response.CompletionSuggestion; @@ -47,7 +47,7 @@ * @author Matt Gilene * @since 4.0 */ -class SearchHitMapping { +public class SearchHitMapping { private static final Logger LOGGER = LoggerFactory.getLogger(SearchHitMapping.class); @@ -64,11 +64,11 @@ private SearchHitMapping(Class type, ElasticsearchConverter converter) { this.mappingContext = converter.getMappingContext(); } - static SearchHitMapping mappingFor(Class entityClass, ElasticsearchConverter converter) { + public static SearchHitMapping mappingFor(Class entityClass, ElasticsearchConverter converter) { return new SearchHitMapping<>(entityClass, converter); } - SearchHits mapHits(SearchDocumentResponse searchDocumentResponse, List contents) { + public SearchHits mapHits(SearchDocumentResponse searchDocumentResponse, List contents) { return mapHitsFromResponse(searchDocumentResponse, contents); } @@ -122,7 +122,7 @@ public void mapHitsInCompletionSuggestion(@Nullable Suggest suggest) { } } - SearchHit mapHit(SearchDocument searchDocument, T content) { + public SearchHit mapHit(SearchDocument searchDocument, T content) { Assert.notNull(searchDocument, "searchDocument is null"); Assert.notNull(content, "content is null"); diff --git a/src/main/java/org/springframework/data/elasticsearch/core/SearchOperations.java b/src/main/java/org/springframework/data/elasticsearch/core/SearchOperations.java index f332406ae..66125c423 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/SearchOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/SearchOperations.java @@ -19,6 +19,7 @@ import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.search.suggest.SuggestBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.MoreLikeThisQuery; import org.springframework.data.elasticsearch.core.query.Query; @@ -71,9 +72,9 @@ default long count(Query query, IndexCoordinates index) { * @param clazz the entity class * @return the suggest response * @since 4.1 - * @deprecated since 4.3 use a {@link org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder} with - * {@link org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder#withSuggestBuilder(SuggestBuilder)}, - * call {@link #search(Query, Class)} and get the suggest from {@link SearchHits#getSuggest()} + * @deprecated since 4.3 use a {@link NativeSearchQueryBuilder} with + * {@link NativeSearchQueryBuilder#withSuggestBuilder(SuggestBuilder)}, call {@link #search(Query, Class)} + * and get the suggest from {@link SearchHits#getSuggest()} */ @Deprecated SearchResponse suggest(SuggestBuilder suggestion, Class clazz); @@ -84,9 +85,9 @@ default long count(Query query, IndexCoordinates index) { * @param suggestion the query * @param index the index to run the query against * @return the suggest response - * @deprecated since 4.3 use a {@link org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder} with - * {@link org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder#withSuggestBuilder(SuggestBuilder)}, - * call {@link #search(Query, Class)} and get the suggest from {@link SearchHits#getSuggest()} + * @deprecated since 4.3 use a {@link NativeSearchQueryBuilder} with + * {@link NativeSearchQueryBuilder#withSuggestBuilder(SuggestBuilder)}, call {@link #search(Query, Class)} + * and get the suggest from {@link SearchHits#getSuggest()} */ @Deprecated SearchResponse suggest(SuggestBuilder suggestion, IndexCoordinates index); diff --git a/src/main/java/org/springframework/data/elasticsearch/core/clients/elasticsearch7/package-info.java b/src/main/java/org/springframework/data/elasticsearch/core/clients/elasticsearch7/package-info.java deleted file mode 100644 index b378cb552..000000000 --- a/src/main/java/org/springframework/data/elasticsearch/core/clients/elasticsearch7/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Classes and interfaces used by the code that uses Elasticsearch 7 client libraries - */ -@org.springframework.lang.NonNullApi -@org.springframework.lang.NonNullFields -package org.springframework.data.elasticsearch.core.clients.elasticsearch7; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/cluster/ClusterOperations.java b/src/main/java/org/springframework/data/elasticsearch/core/cluster/ClusterOperations.java index 5a6919a20..d9c92e5fb 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/cluster/ClusterOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/cluster/ClusterOperations.java @@ -15,10 +15,6 @@ */ package org.springframework.data.elasticsearch.core.cluster; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; -import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; -import org.springframework.util.Assert; - /** * Elasticsearch operations on cluster level. * @@ -27,32 +23,6 @@ */ public interface ClusterOperations { - /** - * Creates a ClusterOperations for a {@link ElasticsearchRestTemplate}. - * - * @param template the template, must not be {@literal null} - * @return ClusterOperations - */ - static ClusterOperations forTemplate(ElasticsearchRestTemplate template) { - - Assert.notNull(template, "template must not be null"); - - return new DefaultClusterOperations(template); - } - - /** - * Creates a ClusterOperations for a {@link ElasticsearchTemplate}. - * - * @param template the template, must not be {@literal null} - * @return ClusterOperations - */ - static ClusterOperations forTemplate(ElasticsearchTemplate template) { - - Assert.notNull(template, "template must not be null"); - - return new DefaultTransportClusterOperations(template); - } - /** * get the cluster's health status. * diff --git a/src/main/java/org/springframework/data/elasticsearch/core/document/SearchDocument.java b/src/main/java/org/springframework/data/elasticsearch/core/document/SearchDocument.java index e3f21f963..1f7d859a9 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/document/SearchDocument.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/document/SearchDocument.java @@ -18,6 +18,7 @@ import java.util.List; import java.util.Map; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.SearchDocumentResponse; import org.springframework.lang.Nullable; /** @@ -45,7 +46,7 @@ public interface SearchDocument extends Document { /** * The first value of the given field. - * + * * @param name the field name */ @Nullable diff --git a/src/main/java/org/springframework/data/elasticsearch/core/index/MappingBuilder.java b/src/main/java/org/springframework/data/elasticsearch/core/index/MappingBuilder.java index a7f703bd8..248840f0d 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/index/MappingBuilder.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/index/MappingBuilder.java @@ -32,7 +32,7 @@ import org.springframework.core.io.ClassPathResource; import org.springframework.data.annotation.Transient; import org.springframework.data.elasticsearch.annotations.*; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchRestTemplate; import org.springframework.data.elasticsearch.core.ResourceUtil; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.document.Document; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/ScriptField.java b/src/main/java/org/springframework/data/elasticsearch/core/query/ScriptField.java deleted file mode 100644 index 6e69f80e7..000000000 --- a/src/main/java/org/springframework/data/elasticsearch/core/query/ScriptField.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.springframework.data.elasticsearch.core.query; - -import org.elasticsearch.script.Script; - -/** - * @author Ryan Murfitt - * @author Artur Konczak - */ -public class ScriptField { - - private final String fieldName; - private final Script script; - - public ScriptField(String fieldName, Script script) { - this.fieldName = fieldName; - this.script = script; - } - - public String fieldName() { - return fieldName; - } - - public Script script() { - return script; - } -} diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepository.java b/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepository.java index cedffeba5..904281c07 100644 --- a/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepository.java +++ b/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepository.java @@ -43,8 +43,8 @@ import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentEntity; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.MoreLikeThisQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.data.util.StreamUtils; diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleReactiveElasticsearchRepository.java b/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleReactiveElasticsearchRepository.java index acb8305d4..920d54a98 100644 --- a/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleReactiveElasticsearchRepository.java +++ b/src/main/java/org/springframework/data/elasticsearch/repository/support/SimpleReactiveElasticsearchRepository.java @@ -21,15 +21,15 @@ import org.reactivestreams.Publisher; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ReactiveElasticsearchTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.MultiGetItem; import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ReactiveElasticsearchTemplate; import org.springframework.data.elasticsearch.core.ReactiveIndexOperations; import org.springframework.data.elasticsearch.core.RefreshPolicy; import org.springframework.data.elasticsearch.core.SearchHit; import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentEntity; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.repository.ReactiveElasticsearchRepository; import org.springframework.util.Assert; diff --git a/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-1.0.xsd b/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-1.0.xsd index b5e2d9d58..14db91480 100644 --- a/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-1.0.xsd +++ b/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-1.0.xsd @@ -1,151 +1,151 @@ + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:beans="http://www.springframework.org/schema/beans" + xmlns:tool="http://www.springframework.org/schema/tool" + xmlns:repository="http://www.springframework.org/schema/data/repository" + targetNamespace="http://www.springframework.org/schema/data/elasticsearch" + elementFormDefault="qualified" + attributeFormDefault="unqualified"> - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-3.2.xsd b/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-3.2.xsd index 44da837ec..069fdc549 100644 --- a/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-3.2.xsd +++ b/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-3.2.xsd @@ -1,172 +1,172 @@ + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:beans="http://www.springframework.org/schema/beans" + xmlns:tool="http://www.springframework.org/schema/tool" + xmlns:repository="http://www.springframework.org/schema/data/repository" + targetNamespace="http://www.springframework.org/schema/data/elasticsearch" + elementFormDefault="qualified" + attributeFormDefault="unqualified"> - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-4.0.xsd b/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-4.0.xsd index 44da837ec..069fdc549 100644 --- a/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-4.0.xsd +++ b/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-4.0.xsd @@ -1,172 +1,172 @@ + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:beans="http://www.springframework.org/schema/beans" + xmlns:tool="http://www.springframework.org/schema/tool" + xmlns:repository="http://www.springframework.org/schema/data/repository" + targetNamespace="http://www.springframework.org/schema/data/elasticsearch" + elementFormDefault="qualified" + attributeFormDefault="unqualified"> - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/src/test/java/org/springframework/data/elasticsearch/JUnit5SampleRestClientBasedTests.java b/src/test/java/org/springframework/data/elasticsearch/JUnit5SampleRestClientBasedTests.java index 8c900a604..d3bb5c786 100644 --- a/src/test/java/org/springframework/data/elasticsearch/JUnit5SampleRestClientBasedTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/JUnit5SampleRestClientBasedTests.java @@ -20,8 +20,8 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchRestTemplate; import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.test.context.ContextConfiguration; @@ -33,7 +33,7 @@ * @author Peter-Josef Meisch */ @SpringIntegrationTest -@ContextConfiguration(classes = { ElasticsearchRestTemplateConfiguration.class}) +@ContextConfiguration(classes = { ElasticsearchRestTemplateConfiguration.class }) @DisplayName("a sample JUnit 5 test with rest client") public class JUnit5SampleRestClientBasedTests { diff --git a/src/test/java/org/springframework/data/elasticsearch/JUnit5SampleTransportClientBasedTests.java b/src/test/java/org/springframework/data/elasticsearch/JUnit5SampleTransportClientBasedTests.java index 0b2953cf5..745cc8abc 100644 --- a/src/test/java/org/springframework/data/elasticsearch/JUnit5SampleTransportClientBasedTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/JUnit5SampleTransportClientBasedTests.java @@ -20,8 +20,8 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.test.context.ContextConfiguration; diff --git a/src/test/java/org/springframework/data/elasticsearch/NestedObjectTests.java b/src/test/java/org/springframework/data/elasticsearch/NestedObjectTests.java index 4b5ca6f07..fa13067b3 100644 --- a/src/test/java/org/springframework/data/elasticsearch/NestedObjectTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/NestedObjectTests.java @@ -40,12 +40,13 @@ import org.springframework.data.elasticsearch.annotations.FieldType; import org.springframework.data.elasticsearch.annotations.InnerField; import org.springframework.data.elasticsearch.annotations.MultiField; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.ElasticsearchOperations; import org.springframework.data.elasticsearch.core.SearchHits; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.IndexQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; @@ -131,7 +132,7 @@ public void shouldIndexInitialLevelNestedObject() { QueryBuilder builder = nestedQuery("car", boolQuery().must(termQuery("car.name", "saturn")).must(termQuery("car.model", "imprezza")), ScoreMode.None); - NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build(); + Query searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build(); SearchHits persons = operations.search(searchQuery, Person.class, index); assertThat(persons).hasSize(1); diff --git a/src/test/java/org/springframework/data/elasticsearch/core/CriteriaQueryMappingUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaQueryMappingUnitTests.java similarity index 99% rename from src/test/java/org/springframework/data/elasticsearch/core/CriteriaQueryMappingUnitTests.java rename to src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaQueryMappingUnitTests.java index cb63c81ee..f9a8e3fde 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/CriteriaQueryMappingUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaQueryMappingUnitTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.clients.elasticsearch7; import static org.skyscreamer.jsonassert.JSONAssert.*; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/CriteriaQueryProcessorUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaQueryProcessorUnitTests.java similarity index 99% rename from src/test/java/org/springframework/data/elasticsearch/core/CriteriaQueryProcessorUnitTests.java rename to src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaQueryProcessorUnitTests.java index 270c67c63..943760129 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/CriteriaQueryProcessorUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/CriteriaQueryProcessorUnitTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.clients.elasticsearch7; import static org.skyscreamer.jsonassert.JSONAssert.*; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/RequestFactoryTests.java b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/RequestFactoryTests.java similarity index 99% rename from src/test/java/org/springframework/data/elasticsearch/core/RequestFactoryTests.java rename to src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/RequestFactoryTests.java index b111e8774..fcb28ddd0 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/RequestFactoryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/RequestFactoryTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.core; +package org.springframework.data.elasticsearch.clients.elasticsearch7; import static org.assertj.core.api.Assertions.*; import static org.elasticsearch.index.query.QueryBuilders.*; @@ -69,7 +69,7 @@ import org.springframework.data.elasticsearch.core.query.GeoDistanceOrder; import org.springframework.data.elasticsearch.core.query.IndexQuery; import org.springframework.data.elasticsearch.core.query.IndexQueryBuilder; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.core.query.RescorerQuery; import org.springframework.data.elasticsearch.core.query.RescorerQuery.ScoreMode; diff --git a/src/test/java/org/springframework/data/elasticsearch/client/ClusterNodesUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/ClusterNodesUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/elasticsearch/client/ClusterNodesUnitTests.java rename to src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/ClusterNodesUnitTests.java index b9aae26d4..ace62a472 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/ClusterNodesUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/ClusterNodesUnitTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client; import static org.assertj.core.api.Assertions.*; @@ -21,7 +21,7 @@ /** * Unit tests for {@link ClusterNodes}. - * + * * @author Oliver Gierke */ public class ClusterNodesUnitTests { diff --git a/src/test/java/org/springframework/data/elasticsearch/client/RestClientsTest.java b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/RestClientsTest.java similarity index 96% rename from src/test/java/org/springframework/data/elasticsearch/client/RestClientsTest.java rename to src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/RestClientsTest.java index e62cbb482..57a6504af 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/RestClientsTest.java +++ b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/RestClientsTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client; import static com.github.tomakehurst.wiremock.client.WireMock.*; import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options; @@ -38,7 +38,9 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.client.ClientConfiguration; +import org.springframework.data.elasticsearch.client.ClientConfigurationBuilder; import org.springframework.data.elasticsearch.client.reactive.ReactiveRestClients; import org.springframework.http.HttpHeaders; diff --git a/src/test/java/org/springframework/data/elasticsearch/client/reactive/DefaultReactiveElasticsearchClientTest.java b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/DefaultReactiveElasticsearchClientTest.java similarity index 96% rename from src/test/java/org/springframework/data/elasticsearch/client/reactive/DefaultReactiveElasticsearchClientTest.java rename to src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/DefaultReactiveElasticsearchClientTest.java index 72d6dc703..482a121db 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/reactive/DefaultReactiveElasticsearchClientTest.java +++ b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/DefaultReactiveElasticsearchClientTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client.reactive; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive; import static org.assertj.core.api.Assertions.*; import static org.elasticsearch.search.internal.SearchContext.*; @@ -40,6 +40,7 @@ import org.mockito.Spy; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.data.elasticsearch.RestStatusException; +import org.springframework.data.elasticsearch.client.reactive.HostProvider; import org.springframework.http.HttpStatus; import org.springframework.web.reactive.function.client.ClientResponse; import org.springframework.web.reactive.function.client.WebClient; diff --git a/src/test/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClientIntegrationTests.java b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/ReactiveElasticsearchClientIntegrationTests.java similarity index 99% rename from src/test/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClientIntegrationTests.java rename to src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/ReactiveElasticsearchClientIntegrationTests.java index fe1011890..380b255c0 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClientIntegrationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/ReactiveElasticsearchClientIntegrationTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client.reactive; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive; import static org.assertj.core.api.Assertions.*; diff --git a/src/test/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClientUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/ReactiveElasticsearchClientUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClientUnitTests.java rename to src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/ReactiveElasticsearchClientUnitTests.java index 8398ce41e..3d88cd978 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/reactive/ReactiveElasticsearchClientUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/reactive/ReactiveElasticsearchClientUnitTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client.reactive; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive; import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; @@ -46,6 +46,8 @@ import org.mockito.Mockito; import org.reactivestreams.Publisher; import org.springframework.data.elasticsearch.RestStatusException; +import org.springframework.data.elasticsearch.client.reactive.HostProvider; +import org.springframework.data.elasticsearch.client.reactive.ReactiveMockClientTestsUtils; import org.springframework.data.elasticsearch.client.reactive.ReactiveMockClientTestsUtils.MockDelegatingElasticsearchHostProvider; import org.springframework.data.elasticsearch.client.reactive.ReactiveMockClientTestsUtils.MockWebClientProvider.Receive; import org.springframework.http.HttpMethod; diff --git a/src/test/java/org/springframework/data/elasticsearch/client/util/RequestConvertersTest.java b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/RequestConvertersTest.java similarity index 97% rename from src/test/java/org/springframework/data/elasticsearch/client/util/RequestConvertersTest.java rename to src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/RequestConvertersTest.java index 4b2fc4645..2d3cdd4c8 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/util/RequestConvertersTest.java +++ b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/RequestConvertersTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.elasticsearch.client.util; +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.util; import static org.assertj.core.api.Assertions.*; diff --git a/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/package-info.java b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/package-info.java new file mode 100644 index 000000000..74805f4f5 --- /dev/null +++ b/src/test/java/org/springframework/data/elasticsearch/backend/elasticsearch7/client/util/package-info.java @@ -0,0 +1,3 @@ +@org.springframework.lang.NonNullApi +@org.springframework.lang.NonNullFields +package org.springframework.data.elasticsearch.backend.elasticsearch7.client.util; diff --git a/src/test/java/org/springframework/data/elasticsearch/blockhound/BlockHoundIntegrationCustomizer.java b/src/test/java/org/springframework/data/elasticsearch/blockhound/BlockHoundIntegrationCustomizer.java index 17a0c3e5c..3de42aaea 100644 --- a/src/test/java/org/springframework/data/elasticsearch/blockhound/BlockHoundIntegrationCustomizer.java +++ b/src/test/java/org/springframework/data/elasticsearch/blockhound/BlockHoundIntegrationCustomizer.java @@ -19,9 +19,6 @@ import reactor.blockhound.BlockingOperationError; import reactor.blockhound.integration.BlockHoundIntegration; -import org.elasticsearch.Build; -import org.elasticsearch.common.xcontent.XContentBuilder; - /** * @author Peter-Josef Meisch */ @@ -30,8 +27,8 @@ public class BlockHoundIntegrationCustomizer implements BlockHoundIntegration { @Override public void applyTo(BlockHound.Builder builder) { // Elasticsearch classes reading from the classpath on initialization, needed for parsing Elasticsearch responses - builder.allowBlockingCallsInside(XContentBuilder.class.getName(), "") - .allowBlockingCallsInside(Build.class.getName(), ""); + builder.allowBlockingCallsInside("org.elasticsearch.common.xcontent.XContentBuilder", "") + .allowBlockingCallsInside("org.elasticsearch.Build", ""); builder.blockingMethodCallback(it -> { throw new BlockingOperationError(it); diff --git a/src/test/java/org/springframework/data/elasticsearch/client/ClientConfigurationUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/client/ClientConfigurationUnitTests.java index 8b8d1322c..72d84f80b 100644 --- a/src/test/java/org/springframework/data/elasticsearch/client/ClientConfigurationUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/client/ClientConfigurationUnitTests.java @@ -30,6 +30,7 @@ import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.RestClients; import org.springframework.data.elasticsearch.client.reactive.ReactiveRestClients; import org.springframework.http.HttpHeaders; import org.springframework.web.reactive.function.client.WebClient; diff --git a/src/test/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupportUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupportUnitTests.java index 75cf5812c..14c19aa11 100644 --- a/src/test/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupportUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupportUnitTests.java @@ -18,24 +18,21 @@ import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; -import reactor.core.publisher.Mono; - import java.util.Collection; import java.util.Collections; -import org.elasticsearch.Version; -import org.elasticsearch.action.main.MainResponse; import org.elasticsearch.client.RestHighLevelClient; -import org.elasticsearch.cluster.ClusterName; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.data.elasticsearch.annotations.Document; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; -import org.springframework.data.elasticsearch.core.ReactiveElasticsearchTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchRestTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ReactiveElasticsearchTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.config.AbstractElasticsearchConfiguration; +import org.springframework.data.elasticsearch.backend.elasticsearch7.config.AbstractReactiveElasticsearchConfiguration; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext; @@ -116,10 +113,7 @@ static class ReactiveRestConfig extends AbstractReactiveElasticsearchConfigurati @Override @Bean public ReactiveElasticsearchClient reactiveElasticsearchClient() { - ReactiveElasticsearchClient client = mock(ReactiveElasticsearchClient.class); - when(client.info()).thenReturn(Mono - .just(new MainResponse("mockNodename", Version.CURRENT, new ClusterName("mockCluster"), "mockUuid", null))); - return client; + return mock(ReactiveElasticsearchClient.class); } } diff --git a/src/test/java/org/springframework/data/elasticsearch/config/abstractelasticsearchconfiguration/ElasticsearchConfigurationTests.java b/src/test/java/org/springframework/data/elasticsearch/config/abstractelasticsearchconfiguration/ElasticsearchConfigurationTests.java index f83f99295..36568ec96 100644 --- a/src/test/java/org/springframework/data/elasticsearch/config/abstractelasticsearchconfiguration/ElasticsearchConfigurationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/config/abstractelasticsearchconfiguration/ElasticsearchConfigurationTests.java @@ -25,7 +25,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; -import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration; +import org.springframework.data.elasticsearch.backend.elasticsearch7.config.AbstractElasticsearchConfiguration; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.lang.Nullable; diff --git a/src/test/java/org/springframework/data/elasticsearch/config/namespace/ElasticsearchNamespaceHandlerTests.java b/src/test/java/org/springframework/data/elasticsearch/config/namespace/ElasticsearchNamespaceHandlerTests.java index 29e710f68..0629461e9 100644 --- a/src/test/java/org/springframework/data/elasticsearch/config/namespace/ElasticsearchNamespaceHandlerTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/config/namespace/ElasticsearchNamespaceHandlerTests.java @@ -24,8 +24,8 @@ import org.springframework.context.ApplicationContext; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; -import org.springframework.data.elasticsearch.client.RestClientFactoryBean; -import org.springframework.data.elasticsearch.client.TransportClientFactoryBean; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.RestClientFactoryBean; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.TransportClientFactoryBean; import org.springframework.data.elasticsearch.junit.jupiter.Tags; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.test.context.ContextConfiguration; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplateCallbackTests.java b/src/test/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplateCallbackTests.java index 0131fb45d..33536f947 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplateCallbackTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplateCallbackTests.java @@ -38,7 +38,7 @@ import org.springframework.data.elasticsearch.core.query.BulkOptions; import org.springframework.data.elasticsearch.core.query.IndexQuery; import org.springframework.data.elasticsearch.core.query.MoreLikeThisQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.mapping.callback.EntityCallbacks; import org.springframework.data.util.CloseableIterator; @@ -441,15 +441,14 @@ void saveAllShouldInvokeBeforeConvertCallbacks() { static class Person { @Nullable @Id String id; - @Nullable String firstname; + @Nullable String firstname; public Person(@Nullable String id, @Nullable String firstname) { this.id = id; this.firstname = firstname; } - public Person() { - } + public Person() {} @Nullable public String getId() { @@ -471,12 +470,15 @@ public void setFirstname(@Nullable String firstname) { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; Person person = (Person) o; - if (id != null ? !id.equals(person.id) : person.id != null) return false; + if (id != null ? !id.equals(person.id) : person.id != null) + return false; return firstname != null ? firstname.equals(person.firstname) : person.firstname == null; } diff --git a/src/test/java/org/springframework/data/elasticsearch/core/DocumentAdaptersUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/core/DocumentAdaptersUnitTests.java index befede8d2..f8b781042 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/DocumentAdaptersUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/DocumentAdaptersUnitTests.java @@ -33,8 +33,8 @@ import org.elasticsearch.search.SearchShardTarget; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.springframework.data.elasticsearch.backend.elasticsearch7.document.DocumentAdapters; import org.springframework.data.elasticsearch.core.document.Document; -import org.springframework.data.elasticsearch.core.document.DocumentAdapters; import org.springframework.data.elasticsearch.core.document.Explanation; import org.springframework.data.elasticsearch.core.document.SearchDocument; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchExceptionTranslatorTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchExceptionTranslatorTests.java index 620da00af..f2580e49a 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchExceptionTranslatorTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchExceptionTranslatorTests.java @@ -25,6 +25,7 @@ import org.springframework.dao.DataAccessException; import org.springframework.dao.OptimisticLockingFailureException; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchExceptionTranslator; /** * @author Roman Puchkovskiy diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchPartQueryTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchPartQueryTests.java index d4091047b..dd46fe608 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchPartQueryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchPartQueryTests.java @@ -33,6 +33,7 @@ import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; +import org.springframework.data.elasticsearch.clients.elasticsearch7.RequestFactory; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; @@ -50,7 +51,7 @@ * Tests for {@link ElasticsearchPartQuery}. Resides in the core package, as we need an instance of the * {@link RequestFactory} class for the tests. The tests make sure that queries are built according to the method * naming. - * + * * @author Peter-Josef Meisch */ @ExtendWith(MockitoExtension.class) diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateCallbackTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateCallbackTests.java index 7b7833970..bb156c77b 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateCallbackTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateCallbackTests.java @@ -42,6 +42,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; import org.mockito.quality.Strictness; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchRestTemplate; /** * @author Roman Puchkovskiy diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateTests.java index c9fbf3674..56ec843d5 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateTests.java @@ -40,8 +40,8 @@ import org.springframework.dao.DataAccessException; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.IndicesOptions; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.UpdateQuery; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.utils.IndexNameProvider; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java index 60a911f82..5cd5cd772 100755 --- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java @@ -83,6 +83,10 @@ import org.springframework.data.elasticsearch.annotations.MultiField; import org.springframework.data.elasticsearch.annotations.ScriptedField; import org.springframework.data.elasticsearch.annotations.Setting; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.ScriptField; +import org.springframework.data.elasticsearch.clients.elasticsearch7.RequestFactory; import org.springframework.data.elasticsearch.core.document.Explanation; import org.springframework.data.elasticsearch.core.geo.GeoPoint; import org.springframework.data.elasticsearch.core.index.AliasAction; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTransportTemplateCallbackTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTransportTemplateCallbackTests.java index 306c82c3e..ab2f445ca 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTransportTemplateCallbackTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTransportTemplateCallbackTests.java @@ -45,6 +45,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; import org.mockito.quality.Strictness; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchTemplate; /** * @author Roman Puchkovskiy diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTransportTemplateTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTransportTemplateTests.java index 10bdd453f..151ce2d87 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTransportTemplateTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTransportTemplateTests.java @@ -49,10 +49,11 @@ import org.springframework.data.domain.Sort; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.IndicesOptions; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.UpdateQuery; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; import org.springframework.data.elasticsearch.utils.IndexNameProvider; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/InnerHitsTests.java b/src/test/java/org/springframework/data/elasticsearch/core/InnerHitsTests.java index 9bd1a1706..b80c98ae3 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/InnerHitsTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/InnerHitsTests.java @@ -38,8 +38,8 @@ import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; import org.springframework.data.elasticsearch.core.document.NestedMetaData; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.lang.Nullable; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/LogEntityTests.java b/src/test/java/org/springframework/data/elasticsearch/core/LogEntityTests.java index 745db975f..3ff8a6295 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/LogEntityTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/LogEntityTests.java @@ -37,8 +37,8 @@ import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.IndexQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateCallbackTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateCallbackTests.java index aaeb3bdd8..5504ae80f 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateCallbackTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateCallbackTests.java @@ -18,8 +18,6 @@ import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; -import org.elasticsearch.action.get.GetResponse; -import org.elasticsearch.action.get.MultiGetItemResponse; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -37,6 +35,8 @@ import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.bulk.BulkResponse; import org.elasticsearch.action.get.GetRequest; +import org.elasticsearch.action.get.GetResponse; +import org.elasticsearch.action.get.MultiGetItemResponse; import org.elasticsearch.action.get.MultiGetRequest; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.index.IndexResponse; @@ -55,13 +55,14 @@ import org.mockito.quality.Strictness; import org.springframework.data.annotation.Id; import org.springframework.data.domain.PageRequest; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ReactiveElasticsearchTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.document.Document; import org.springframework.data.elasticsearch.core.event.ReactiveAfterConvertCallback; import org.springframework.data.elasticsearch.core.event.ReactiveAfterSaveCallback; import org.springframework.data.elasticsearch.core.event.ReactiveBeforeConvertCallback; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.mapping.callback.ReactiveEntityCallbacks; import org.springframework.lang.Nullable; @@ -238,8 +239,8 @@ void multiGetShouldInvokeAfterConvertCallbacks() { template.setEntityCallbacks(ReactiveEntityCallbacks.create(afterConvertCallback)); - List> results = template.multiGet(pagedQueryForTwo(), Person.class, index).timeout(Duration.ofSeconds(1)) - .toStream().collect(Collectors.toList()); + List> results = template.multiGet(pagedQueryForTwo(), Person.class, index) + .timeout(Duration.ofSeconds(1)).toStream().collect(Collectors.toList()); verify(afterConvertCallback, times(2)).onAfterConvert(eq(new Person("init", "luke")), eq(lukeDocument()), eq(index)); @@ -379,8 +380,7 @@ static class Person { @Nullable @Id String id; @Nullable String firstname; - public Person() { - } + public Person() {} public Person(@Nullable String id, @Nullable String firstname) { this.id = id; @@ -407,12 +407,15 @@ public void setFirstname(@Nullable String firstname) { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; Person person = (Person) o; - if (id != null ? !id.equals(person.id) : person.id != null) return false; + if (id != null ? !id.equals(person.id) : person.id != null) + return false; return firstname != null ? firstname.equals(person.firstname) : person.firstname == null; } diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateIntegrationTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateIntegrationTests.java index 2f787b10e..0a88a8dae 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateIntegrationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateIntegrationTests.java @@ -70,15 +70,27 @@ import org.springframework.data.elasticsearch.annotations.FieldType; import org.springframework.data.elasticsearch.annotations.Mapping; import org.springframework.data.elasticsearch.annotations.Setting; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; -import org.springframework.data.elasticsearch.core.clients.elasticsearch7.ElasticsearchAggregation; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ReactiveElasticsearchTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ElasticsearchAggregation; import org.springframework.data.elasticsearch.core.document.Explanation; import org.springframework.data.elasticsearch.core.index.AliasAction; import org.springframework.data.elasticsearch.core.index.AliasActionParameters; import org.springframework.data.elasticsearch.core.index.AliasActions; import org.springframework.data.elasticsearch.core.index.AliasData; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; -import org.springframework.data.elasticsearch.core.query.*; +import org.springframework.data.elasticsearch.core.query.ByQueryResponse; +import org.springframework.data.elasticsearch.core.query.Criteria; +import org.springframework.data.elasticsearch.core.query.CriteriaQuery; +import org.springframework.data.elasticsearch.core.query.IndexQuery; +import org.springframework.data.elasticsearch.core.query.IndexQueryBuilder; +import org.springframework.data.elasticsearch.core.query.Query; +import org.springframework.data.elasticsearch.core.query.SeqNoPrimaryTerm; +import org.springframework.data.elasticsearch.core.query.StringQuery; +import org.springframework.data.elasticsearch.core.query.UpdateQuery; +import org.springframework.data.elasticsearch.core.query.UpdateResponse; import org.springframework.data.elasticsearch.junit.jupiter.ReactiveElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexNameProvider; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateUnitTests.java index fcaaa6712..d35b80b96 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateUnitTests.java @@ -31,11 +31,9 @@ import org.elasticsearch.action.delete.DeleteRequest; import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.action.main.MainResponse; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.support.IndicesOptions; import org.elasticsearch.action.support.WriteRequest; -import org.elasticsearch.cluster.ClusterName; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.reindex.DeleteByQueryRequest; import org.junit.jupiter.api.BeforeEach; @@ -51,7 +49,8 @@ import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.ScriptedField; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ReactiveElasticsearchTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; import org.springframework.data.elasticsearch.core.geo.GeoPoint; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.Criteria; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/SearchAsYouTypeTests.java b/src/test/java/org/springframework/data/elasticsearch/core/SearchAsYouTypeTests.java index 2c67efa6e..52be5b260 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/SearchAsYouTypeTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/SearchAsYouTypeTests.java @@ -37,12 +37,11 @@ import org.springframework.data.elasticsearch.annotations.FieldType; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.IndexQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; -import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; import org.springframework.test.context.ContextConfiguration; @@ -162,8 +161,7 @@ public SearchAsYouTypeEntity(@Nonnull String id) { @Nullable private String name; @Nullable @Field(type = FieldType.Search_As_You_Type, maxShingleSize = 4) private String suggest; - public SearchAsYouTypeEntity() { - } + public SearchAsYouTypeEntity() {} public SearchAsYouTypeEntity(String id, @Nullable String name, @Nullable String suggest) { this.id = id; @@ -207,13 +205,17 @@ public void setSuggest(@Nullable String suggest) { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; SearchAsYouTypeEntity that = (SearchAsYouTypeEntity) o; - if (id != null ? !id.equals(that.id) : that.id != null) return false; - if (name != null ? !name.equals(that.name) : that.name != null) return false; + if (id != null ? !id.equals(that.id) : that.id != null) + return false; + if (name != null ? !name.equals(that.name) : that.name != null) + return false; return suggest != null ? suggest.equals(that.suggest) : that.suggest == null; } diff --git a/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java b/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java index 266f2bda6..7310ba556 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java @@ -44,15 +44,15 @@ import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.InnerField; import org.springframework.data.elasticsearch.annotations.MultiField; +import org.springframework.data.elasticsearch.clients.elasticsearch7.ElasticsearchAggregations; import org.springframework.data.elasticsearch.core.AggregationsContainer; import org.springframework.data.elasticsearch.core.ElasticsearchOperations; import org.springframework.data.elasticsearch.core.IndexOperations; import org.springframework.data.elasticsearch.core.SearchHits; -import org.springframework.data.elasticsearch.core.clients.elasticsearch7.ElasticsearchAggregations; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.IndexQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; @@ -208,7 +208,7 @@ static class ArticleEntity { @Nullable private int score; - public ArticleEntity(String id) { + public ArticleEntity(@Nullable String id) { this.id = id; } diff --git a/src/test/java/org/springframework/data/elasticsearch/core/geo/ElasticsearchTemplateGeoTests.java b/src/test/java/org/springframework/data/elasticsearch/core/geo/ElasticsearchTemplateGeoTests.java index d8ee328fd..0c20dbc67 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/geo/ElasticsearchTemplateGeoTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/geo/ElasticsearchTemplateGeoTests.java @@ -38,7 +38,7 @@ import org.springframework.data.elasticsearch.core.query.Criteria; import org.springframework.data.elasticsearch.core.query.CriteriaQuery; import org.springframework.data.elasticsearch.core.query.IndexQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderIntegrationTests.java b/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderIntegrationTests.java index e41edbf6f..7ac0fd054 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderIntegrationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderIntegrationTests.java @@ -51,8 +51,8 @@ import org.springframework.data.elasticsearch.core.geo.GeoPoint; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.IndexQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.SeqNoPrimaryTerm; import org.springframework.data.elasticsearch.core.suggest.Completion; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/mapping/FieldNamingStrategyIntegrationReactiveTest.java b/src/test/java/org/springframework/data/elasticsearch/core/mapping/FieldNamingStrategyIntegrationReactiveTest.java index 510c7734b..79efa8f3f 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/mapping/FieldNamingStrategyIntegrationReactiveTest.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/mapping/FieldNamingStrategyIntegrationReactiveTest.java @@ -30,7 +30,7 @@ import org.springframework.data.elasticsearch.annotations.FieldType; import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations; import org.springframework.data.elasticsearch.core.ReactiveIndexOperations; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.junit.jupiter.ReactiveElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/mapping/FieldNamingStrategyIntegrationTest.java b/src/test/java/org/springframework/data/elasticsearch/core/mapping/FieldNamingStrategyIntegrationTest.java index 9690ebb82..7e8e374d0 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/mapping/FieldNamingStrategyIntegrationTest.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/mapping/FieldNamingStrategyIntegrationTest.java @@ -33,7 +33,7 @@ import org.springframework.data.elasticsearch.core.IndexOperations; import org.springframework.data.elasticsearch.core.SearchHits; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/query/HighlightQueryBuilderTests.java b/src/test/java/org/springframework/data/elasticsearch/core/query/HighlightQueryBuilderTests.java index 37ea0f65b..71d68d1eb 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/query/HighlightQueryBuilderTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/query/HighlightQueryBuilderTests.java @@ -28,6 +28,7 @@ import org.springframework.data.elasticsearch.annotations.Highlight; import org.springframework.data.elasticsearch.annotations.HighlightField; import org.springframework.data.elasticsearch.annotations.HighlightParameters; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.HighlightQueryBuilder; import org.springframework.data.elasticsearch.core.ResourceUtil; import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext; import org.springframework.lang.Nullable; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/routing/ElasticsearchOperationsRoutingTests.java b/src/test/java/org/springframework/data/elasticsearch/core/routing/ElasticsearchOperationsRoutingTests.java index c60ef594d..4427b2603 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/routing/ElasticsearchOperationsRoutingTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/routing/ElasticsearchOperationsRoutingTests.java @@ -228,7 +228,7 @@ public int hashCode() { /** * Copied from org.elasticsearch.cluster.routing.Murmur3HashFunction from Elasticsearch 7.9.3 */ - static class Murmur3HashFunction { + public static class Murmur3HashFunction { private Murmur3HashFunction() { // no instance diff --git a/src/test/java/org/springframework/data/elasticsearch/core/routing/ReactiveElasticsearchOperationsRoutingTests.java b/src/test/java/org/springframework/data/elasticsearch/core/routing/ReactiveElasticsearchOperationsRoutingTests.java index c57ebf92a..f6f445543 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/routing/ReactiveElasticsearchOperationsRoutingTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/routing/ReactiveElasticsearchOperationsRoutingTests.java @@ -20,7 +20,6 @@ import java.util.List; import java.util.function.Function; -import org.elasticsearch.cluster.routing.Murmur3HashFunction; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -59,7 +58,8 @@ public class ReactiveElasticsearchOperationsRoutingTests { static void beforeAll() { // check that the used id values go to different shards of the index which is configured to have 5 shards. // Elasticsearch uses the following function: - Function calcShard = routing -> Math.floorMod(Murmur3HashFunction.hash(routing), 5); + Function calcShard = routing -> Math + .floorMod(ElasticsearchOperationsRoutingTests.Murmur3HashFunction.hash(routing), 5); Integer shard1 = calcShard.apply(ID_1); Integer shard2 = calcShard.apply(ID_2); diff --git a/src/test/java/org/springframework/data/elasticsearch/core/suggest/ElasticsearchTemplateCompletionTests.java b/src/test/java/org/springframework/data/elasticsearch/core/suggest/ElasticsearchTemplateCompletionTests.java index ed33a65cf..f6d824963 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/suggest/ElasticsearchTemplateCompletionTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/suggest/ElasticsearchTemplateCompletionTests.java @@ -36,8 +36,8 @@ import org.springframework.data.elasticsearch.core.SearchHits; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.IndexQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.suggest.response.CompletionSuggestion; import org.springframework.data.elasticsearch.core.suggest.response.Suggest; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/suggest/ReactiveElasticsearchTemplateSuggestIntegrationTests.java b/src/test/java/org/springframework/data/elasticsearch/core/suggest/ReactiveElasticsearchTemplateSuggestIntegrationTests.java index 64c40390e..665b0edb3 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/suggest/ReactiveElasticsearchTemplateSuggestIntegrationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/suggest/ReactiveElasticsearchTemplateSuggestIntegrationTests.java @@ -39,8 +39,8 @@ import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.query.IndexQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.core.suggest.response.CompletionSuggestion; import org.springframework.data.elasticsearch.core.suggest.response.Suggest; import org.springframework.data.elasticsearch.junit.jupiter.ReactiveElasticsearchRestTemplateConfiguration; diff --git a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchRestTemplateConfiguration.java b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchRestTemplateConfiguration.java index 0263f6c76..c4677dab0 100644 --- a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchRestTemplateConfiguration.java +++ b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchRestTemplateConfiguration.java @@ -22,17 +22,16 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.dao.DataAccessResourceFailureException; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchRestTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.RestClients; +import org.springframework.data.elasticsearch.backend.elasticsearch7.config.AbstractElasticsearchConfiguration; import org.springframework.data.elasticsearch.client.ClientConfiguration; -import org.springframework.data.elasticsearch.client.RestClients; -import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration; import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; import org.springframework.data.elasticsearch.core.RefreshPolicy; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; /** - * Configuration for Spring Data Elasticsearch using - * {@link org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate}. + * Configuration for Spring Data Elasticsearch using {@link ElasticsearchRestTemplate}. * * @author Peter-Josef Meisch */ diff --git a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchTemplateConfiguration.java b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchTemplateConfiguration.java index 259226c41..6cb6f2caf 100644 --- a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchTemplateConfiguration.java +++ b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchTemplateConfiguration.java @@ -25,14 +25,13 @@ import org.elasticsearch.transport.client.PreBuiltTransportClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchTemplate; import org.springframework.data.elasticsearch.config.ElasticsearchConfigurationSupport; -import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.RefreshPolicy; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; /** - * Configuration for Spring Data Elasticsearch using - * {@link org.springframework.data.elasticsearch.core.ElasticsearchTemplate}. + * Configuration for Spring Data Elasticsearch using {@link ElasticsearchTemplate}. * * @author Peter-Josef Meisch */ diff --git a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchRestTemplateConfiguration.java b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchRestTemplateConfiguration.java index d6f242bbe..cb7aad3a0 100644 --- a/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchRestTemplateConfiguration.java +++ b/src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchRestTemplateConfiguration.java @@ -19,10 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.reactive.ReactiveElasticsearchClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.config.AbstractReactiveElasticsearchConfiguration; import org.springframework.data.elasticsearch.client.ClientConfiguration; -import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient; import org.springframework.data.elasticsearch.client.reactive.ReactiveRestClients; -import org.springframework.data.elasticsearch.config.AbstractReactiveElasticsearchConfiguration; import org.springframework.data.elasticsearch.core.RefreshPolicy; /** diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/cdi/ElasticsearchOperationsProducer.java b/src/test/java/org/springframework/data/elasticsearch/repositories/cdi/ElasticsearchOperationsProducer.java index 3607f1f1d..451eae745 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/cdi/ElasticsearchOperationsProducer.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/cdi/ElasticsearchOperationsProducer.java @@ -20,10 +20,10 @@ import javax.enterprise.inject.Produces; import org.elasticsearch.client.RestHighLevelClient; +import org.springframework.data.elasticsearch.backend.elasticsearch7.ElasticsearchRestTemplate; +import org.springframework.data.elasticsearch.backend.elasticsearch7.client.RestClients; import org.springframework.data.elasticsearch.client.ClientConfiguration; -import org.springframework.data.elasticsearch.client.RestClients; import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; import org.springframework.data.elasticsearch.junit.jupiter.ClusterConnection; import org.springframework.data.elasticsearch.junit.jupiter.ClusterConnectionInfo; diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/setting/dynamic/DynamicSettingAndMappingEntityRepositoryTests.java b/src/test/java/org/springframework/data/elasticsearch/repositories/setting/dynamic/DynamicSettingAndMappingEntityRepositoryTests.java index c38a0da86..4952bae34 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/setting/dynamic/DynamicSettingAndMappingEntityRepositoryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/setting/dynamic/DynamicSettingAndMappingEntityRepositoryTests.java @@ -21,7 +21,6 @@ import java.util.Map; -import org.elasticsearch.index.query.QueryBuilders; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; @@ -37,8 +36,8 @@ import org.springframework.data.elasticsearch.core.IndexOperations; import org.springframework.data.elasticsearch.core.SearchHits; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.core.query.Query; +import org.springframework.data.elasticsearch.core.query.StringQuery; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; @@ -115,15 +114,15 @@ public void shouldSearchOnGivenTokenizerUsingGivenDynamicSettingsForGivenIndex() repository.save(dynamicSettingAndMappingEntity2); - NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() - .withQuery(QueryBuilders.termQuery("email", dynamicSettingAndMappingEntity1.getEmail())).build(); + // use a term query to prevent the input from being analysed + Query searchQuery = new StringQuery( + "{\"term\": {\"email\": \"" + dynamicSettingAndMappingEntity1.getEmail() + "\"}}\n"); IndexCoordinates index = IndexCoordinates.of(indexNameProvider.indexName()); - long count = operations.count(searchQuery, DynamicSettingAndMappingEntity.class, index); SearchHits entityList = operations.search(searchQuery, DynamicSettingAndMappingEntity.class, index); - assertThat(count).isEqualTo(1L); + assertThat(entityList).hasSize(1); assertThat(entityList).isNotNull().hasSize(1); assertThat(entityList.getSearchHit(0).getContent().getEmail()) .isEqualTo(dynamicSettingAndMappingEntity1.getEmail()); diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/spel/SpELEntityTests.java b/src/test/java/org/springframework/data/elasticsearch/repositories/spel/SpELEntityTests.java index f9b7f0dfc..815f671a8 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/spel/SpELEntityTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/spel/SpELEntityTests.java @@ -17,7 +17,6 @@ import static org.assertj.core.api.Assertions.*; -import org.elasticsearch.index.query.QueryBuilders; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -29,7 +28,6 @@ import org.springframework.data.elasticsearch.core.ElasticsearchOperations; import org.springframework.data.elasticsearch.core.IndexOperations; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; @@ -78,8 +76,7 @@ public void shouldDo() { // when // then - NativeSearchQuery nativeSearchQuery = new NativeSearchQuery(QueryBuilders.matchAllQuery()); - long count = operations.count(nativeSearchQuery, IndexCoordinates.of("test-index-abz-entity")); + long count = operations.count(operations.matchAllQuery(), IndexCoordinates.of("test-index-abz-entity")); assertThat(count).isEqualTo(2); } @@ -93,16 +90,10 @@ public void shouldSupportSpelInType() { // when // then - NativeSearchQuery nativeSearchQuery = new NativeSearchQuery(QueryBuilders.matchAllQuery()); - long count = operations.count(nativeSearchQuery, IndexCoordinates.of("test-index-abz-entity")); + long count = operations.count(operations.matchAllQuery(), IndexCoordinates.of("test-index-abz-entity")); assertThat(count).isEqualTo(1); } - /** - * SpELEntity - * - * @author Artur Konczak - */ @Document(indexName = "#{'test-index-abz'+'-'+'entity'}") static class SpELEntity { diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/synonym/SynonymRepositoryTests.java b/src/test/java/org/springframework/data/elasticsearch/repositories/synonym/SynonymRepositoryTests.java index 91e7a6219..b56e158df 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/synonym/SynonymRepositoryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/synonym/SynonymRepositoryTests.java @@ -17,7 +17,6 @@ import static org.assertj.core.api.Assertions.*; -import org.elasticsearch.index.query.QueryBuilders; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -31,8 +30,9 @@ import org.springframework.data.elasticsearch.core.ElasticsearchOperations; import org.springframework.data.elasticsearch.core.IndexOperations; import org.springframework.data.elasticsearch.core.SearchHits; -import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.core.query.Criteria; +import org.springframework.data.elasticsearch.core.query.CriteriaQuery; +import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; @@ -75,22 +75,15 @@ void after() { @Test public void shouldDo() { - // given SynonymEntity entry1 = new SynonymEntity(); entry1.setText("Elizabeth is the english queen"); SynonymEntity entry2 = new SynonymEntity(); entry2.setText("Other text"); - repository.save(entry1); repository.save(entry2); - // whe - // then - assertThat(repository.count()).isEqualTo(2L); - - SearchHits synonymEntities = operations.search( - new NativeSearchQueryBuilder().withQuery(QueryBuilders.termQuery("text", "british")).build(), - SynonymEntity.class, IndexCoordinates.of("test-index-synonym")); + Query query = new CriteriaQuery(new Criteria("text").is("british")); + SearchHits synonymEntities = operations.search(query, SynonymEntity.class); assertThat(synonymEntities).hasSize(1); } diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/uuidkeyed/UUIDElasticsearchRepositoryTests.java b/src/test/java/org/springframework/data/elasticsearch/repositories/uuidkeyed/UUIDElasticsearchRepositoryTests.java index f9ff406b0..416f4f691 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/uuidkeyed/UUIDElasticsearchRepositoryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/uuidkeyed/UUIDElasticsearchRepositoryTests.java @@ -43,8 +43,8 @@ import org.springframework.data.elasticsearch.core.ElasticsearchOperations; import org.springframework.data.elasticsearch.core.IndexOperations; import org.springframework.data.elasticsearch.core.geo.GeoPoint; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; diff --git a/src/test/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepositoryIntegrationTests.java b/src/test/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepositoryIntegrationTests.java index 6d4ae3c5e..5b8364049 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepositoryIntegrationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepositoryIntegrationTests.java @@ -47,8 +47,8 @@ import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.core.ElasticsearchOperations; import org.springframework.data.elasticsearch.core.IndexOperations; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.backend.elasticsearch7.query.NativeSearchQueryBuilder; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; diff --git a/src/test/resources/org/springframework/data/elasticsearch/config/namespace/namespace.xml b/src/test/resources/org/springframework/data/elasticsearch/config/namespace/namespace.xml index 3d01395f7..2a0e84954 100644 --- a/src/test/resources/org/springframework/data/elasticsearch/config/namespace/namespace.xml +++ b/src/test/resources/org/springframework/data/elasticsearch/config/namespace/namespace.xml @@ -1,21 +1,21 @@ - - - + + + - + - + - +