Added RefreshPolicy setter to the AbstractElasticsearchTemplate copy method.

Original Pull Request #1976 
Closes #1978
This commit is contained in:
Anton Naydenov 2021-10-26 20:12:53 +03:00 committed by GitHub
parent f1b4a54bc2
commit 8894dd3d21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 4 deletions

View File

@ -70,6 +70,7 @@ import org.springframework.util.Assert;
* @author Roman Puchkovskiy * @author Roman Puchkovskiy
* @author Subhobrata Dey * @author Subhobrata Dey
* @author Steven Pearce * @author Steven Pearce
* @author Anton Naydenov
*/ */
public abstract class AbstractElasticsearchTemplate implements ElasticsearchOperations, ApplicationContextAware { public abstract class AbstractElasticsearchTemplate implements ElasticsearchOperations, ApplicationContextAware {
@ -110,6 +111,7 @@ public abstract class AbstractElasticsearchTemplate implements ElasticsearchOper
} }
copy.setRoutingResolver(routingResolver); copy.setRoutingResolver(routingResolver);
copy.setRefreshPolicy(refreshPolicy);
return copy; return copy;
} }

View File

@ -33,11 +33,9 @@ import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Routing; import org.springframework.data.elasticsearch.annotations.Routing;
import org.springframework.data.elasticsearch.annotations.Setting; import org.springframework.data.elasticsearch.annotations.Setting;
import org.springframework.data.elasticsearch.core.ElasticsearchOperations; import org.springframework.data.elasticsearch.core.*;
import org.springframework.data.elasticsearch.core.IndexOperations;
import org.springframework.data.elasticsearch.core.MultiGetItem;
import org.springframework.data.elasticsearch.core.SearchHits;
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext;
import org.springframework.data.elasticsearch.core.query.BaseQuery; import org.springframework.data.elasticsearch.core.query.BaseQuery;
import org.springframework.data.elasticsearch.core.query.Query; import org.springframework.data.elasticsearch.core.query.Query;
import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration;
@ -47,6 +45,7 @@ import org.springframework.test.context.ContextConfiguration;
/** /**
* @author Peter-Josef Meisch * @author Peter-Josef Meisch
* @author Anton Naydenov
*/ */
@SuppressWarnings("ConstantConditions") @SuppressWarnings("ConstantConditions")
@SpringIntegrationTest @SpringIntegrationTest
@ -159,6 +158,21 @@ public class ElasticsearchOperationsRoutingTests {
softly.assertAll(); softly.assertAll();
} }
@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) @Document(indexName = INDEX)
@Setting(shards = 7) @Setting(shards = 7)
@Routing("routing") @Routing("routing")