Skip to content

Commit 8894dd3

Browse files
authored
Added RefreshPolicy setter to the AbstractElasticsearchTemplate copy method.
Original Pull Request #1976 Closes #1978
1 parent f1b4a54 commit 8894dd3

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

src/main/java/org/springframework/data/elasticsearch/core/AbstractElasticsearchTemplate.java

+2
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
* @author Roman Puchkovskiy
7171
* @author Subhobrata Dey
7272
* @author Steven Pearce
73+
* @author Anton Naydenov
7374
*/
7475
public abstract class AbstractElasticsearchTemplate implements ElasticsearchOperations, ApplicationContextAware {
7576

@@ -110,6 +111,7 @@ private AbstractElasticsearchTemplate copy() {
110111
}
111112

112113
copy.setRoutingResolver(routingResolver);
114+
copy.setRefreshPolicy(refreshPolicy);
113115

114116
return copy;
115117
}

src/test/java/org/springframework/data/elasticsearch/core/routing/ElasticsearchOperationsRoutingTests.java

+18-4
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,9 @@
3333
import org.springframework.data.elasticsearch.annotations.Document;
3434
import org.springframework.data.elasticsearch.annotations.Routing;
3535
import org.springframework.data.elasticsearch.annotations.Setting;
36-
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
37-
import org.springframework.data.elasticsearch.core.IndexOperations;
38-
import org.springframework.data.elasticsearch.core.MultiGetItem;
39-
import org.springframework.data.elasticsearch.core.SearchHits;
36+
import org.springframework.data.elasticsearch.core.*;
4037
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
38+
import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext;
4139
import org.springframework.data.elasticsearch.core.query.BaseQuery;
4240
import org.springframework.data.elasticsearch.core.query.Query;
4341
import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration;
@@ -47,6 +45,7 @@
4745

4846
/**
4947
* @author Peter-Josef Meisch
48+
* @author Anton Naydenov
5049
*/
5150
@SuppressWarnings("ConstantConditions")
5251
@SpringIntegrationTest
@@ -159,6 +158,21 @@ void shouldUseRoutingValuesInMultiget() {
159158
softly.assertAll();
160159
}
161160

161+
@Test
162+
void shouldCreateACopyOfTheClientWithRefreshPolicy() {
163+
//given
164+
AbstractElasticsearchTemplate sourceTemplate = (AbstractElasticsearchTemplate) operations;
165+
SimpleElasticsearchMappingContext mappingContext = new SimpleElasticsearchMappingContext();
166+
DefaultRoutingResolver defaultRoutingResolver = new DefaultRoutingResolver(mappingContext);
167+
168+
//when
169+
ElasticsearchOperations operationsCopy = this.operations.withRouting(defaultRoutingResolver);
170+
AbstractElasticsearchTemplate copyTemplate = (AbstractElasticsearchTemplate) operationsCopy;
171+
172+
//then
173+
assertThat(sourceTemplate.getRefreshPolicy()).isEqualTo(copyTemplate.getRefreshPolicy());
174+
}
175+
162176
@Document(indexName = INDEX)
163177
@Setting(shards = 7)
164178
@Routing("routing")

0 commit comments

Comments
 (0)