Skip to content

Commit b537b31

Browse files
BfindlayVachaShah
authored andcommitted
Fix PutTemplateRequest deserialization (opensearch-project#723)
* fix PutTemplateRequest deserialization Signed-off-by: bfindlay <[email protected]> * update changelog Signed-off-by: bfindlay <[email protected]> * fix changelog PR number Signed-off-by: bfindlay <[email protected]> * update for pr review Signed-off-by: bfindlay <[email protected]> * update unit test for pr Signed-off-by: bfindlay <[email protected]> * apply spotless check Signed-off-by: bfindlay <[email protected]> --------- Signed-off-by: bfindlay <[email protected]>
1 parent a4f3f9f commit b537b31

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

Diff for: CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
1313
### Removed
1414

1515
### Fixed
16+
- Fix PutTemplateRequest field deserialization ([#723](https://github.com/opensearch-project/opensearch-java/pull/723))
1617

1718
### Security
1819

Diff for: java-client/src/main/java/org/opensearch/client/opensearch/indices/PutTemplateRequest.java

+2
Original file line numberDiff line numberDiff line change
@@ -586,8 +586,10 @@ public PutTemplateRequest build() {
586586
protected static void setupPutTemplateRequestDeserializer(ObjectDeserializer<PutTemplateRequest.Builder> op) {
587587

588588
op.add(Builder::aliases, JsonpDeserializer.stringMapDeserializer(Alias._DESERIALIZER), "aliases");
589+
op.add(Builder::create, JsonpDeserializer.booleanDeserializer(), "create");
589590
op.add(Builder::indexPatterns, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "index_patterns");
590591
op.add(Builder::mappings, TypeMapping._DESERIALIZER, "mappings");
592+
op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name");
591593
op.add(Builder::order, JsonpDeserializer.integerDeserializer(), "order");
592594
op.add(Builder::settings, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "settings");
593595
op.add(Builder::version, JsonpDeserializer.longDeserializer(), "version");
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package org.opensearch.client.opensearch.core;
2+
3+
import com.fasterxml.jackson.core.JsonProcessingException;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import java.io.StringReader;
6+
import java.util.List;
7+
import java.util.Map;
8+
import org.junit.Assert;
9+
import org.junit.Test;
10+
import org.opensearch.client.json.JsonpMapper;
11+
import org.opensearch.client.json.jsonb.JsonbJsonpMapper;
12+
import org.opensearch.client.opensearch.indices.PutTemplateRequest;
13+
14+
public class PutTemplateRequestTest extends Assert {
15+
16+
@Test
17+
public void deserialize_validFieldsIncluded_RequestIsBuilt() throws JsonProcessingException {
18+
final JsonpMapper mapper = new JsonbJsonpMapper();
19+
final Map<String, Object> indexTemplateMap = Map.of("name", "test", "index_patterns", "*", "create", true, "order", 1);
20+
21+
final String indexTemplate = new ObjectMapper().writeValueAsString(indexTemplateMap);
22+
final var parser = mapper.jsonProvider().createParser(new StringReader(indexTemplate));
23+
24+
final PutTemplateRequest putTemplateRequest = PutTemplateRequest._DESERIALIZER.deserialize(parser, mapper);
25+
26+
assertEquals(putTemplateRequest.name(), "test");
27+
assertEquals(putTemplateRequest.indexPatterns(), List.of("*"));
28+
assertEquals((int) putTemplateRequest.order(), 1);
29+
assertEquals(putTemplateRequest.create(), true);
30+
}
31+
}

0 commit comments

Comments
 (0)