From e4df537382327982a1bb121c39d64742c99f021d Mon Sep 17 00:00:00 2001 From: Anton Naydenov Date: Tue, 26 Oct 2021 20:12:53 +0300 Subject: [PATCH] Added RefreshPolicy setter to the AbstractElasticsearchTemplate copy method. Original Pull Request #1976 Closes #1978 (cherry picked from commit 8894dd3d216da9d6e37c97375fa787c743283780) --- .../core/AbstractElasticsearchTemplate.java | 3 +++ .../ElasticsearchOperationsRoutingTests.java | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) 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 6703696fd..cce3883f9 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java @@ -79,6 +79,8 @@ import org.springframework.util.Assert; * @author Peter-Josef Meisch * @author Roman Puchkovskiy * @author Subhobrata Dey + * @author Steven Pearce + * @author Anton Naydenov */ public abstract class AbstractElasticsearchTemplate implements ElasticsearchOperations, ApplicationContextAware { @@ -116,6 +118,7 @@ public abstract class AbstractElasticsearchTemplate implements ElasticsearchOper } copy.setRoutingResolver(routingResolver); + copy.setRefreshPolicy(refreshPolicy); return copy; } 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 ed096ca0b..cfb4cf3f8 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 @@ -41,6 +41,7 @@ import org.springframework.test.context.ContextConfiguration; /** * @author Peter-Josef Meisch + * @author Anton Naydenov */ @SuppressWarnings("ConstantConditions") @SpringIntegrationTest @@ -118,6 +119,21 @@ public class ElasticsearchOperationsRoutingTests { assertThat(searchHits.getSearchHit(0).getRouting()).isEqualTo(ID_2); } + @Test + void shouldCreateACopyOfTheClientWithRefreshPolicy() { + //given + AbstractElasticsearchTemplate sourceTemplate = (AbstractElasticsearchTemplate) operations; + SimpleElasticsearchMappingContext mappingContext = new SimpleElasticsearchMappingContext(); + DefaultRoutingResolver defaultRoutingResolver = new DefaultRoutingResolver(mappingContext); + + //when + ElasticsearchOperations operationsCopy = this.operations.withRouting(defaultRoutingResolver); + AbstractElasticsearchTemplate copyTemplate = (AbstractElasticsearchTemplate) operationsCopy; + + //then + assertThat(sourceTemplate.getRefreshPolicy()).isEqualTo(copyTemplate.getRefreshPolicy()); + } + @Document(indexName = INDEX) @Setting(shards = 5) @Routing("routing")