Skip to content

Commit ab53a74

Browse files
patschlPatrick Schlindwein
authored and
Patrick Schlindwein
committed
Set 'id' field when deserializing a PutPipelineRequest
Signed-off-by: Patrick Schlindwein <[email protected]> Signed-off-by: Patrick Schlindwein <[email protected]>
1 parent 5239303 commit ab53a74

File tree

3 files changed

+30
-1
lines changed

3 files changed

+30
-1
lines changed

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ This section is for maintaining a changelog for all breaking changes for the cli
3434
- Fix PutTemplateRequest field deserialization ([#723](https://github.com/opensearch-project/opensearch-java/pull/723))
3535
- Fix PutIndexTemplateRequest field deserialization ([#765](https://github.com/opensearch-project/opensearch-java/pull/765))
3636
- Fix InnerHits storedFields deserialization/serialization ([#781](https://github.com/opensearch-project/opensearch-java/pull/781)
37+
- Fix PutPipelineRequest field deserialization ([#789](https://github.com/opensearch-project/opensearch-java/issues/789)
3738

3839
### Security
3940

@@ -258,4 +259,4 @@ This section is for maintaining a changelog for all breaking changes for the cli
258259
[2.5.0]: https://github.com/opensearch-project/opensearch-java/compare/v2.4.0...v2.5.0
259260
[2.4.0]: https://github.com/opensearch-project/opensearch-java/compare/v2.3.0...v2.4.0
260261
[2.3.0]: https://github.com/opensearch-project/opensearch-java/compare/v2.2.0...v2.3.0
261-
[2.2.0]: https://github.com/opensearch-project/opensearch-java/compare/v2.1.0...v2.2.0
262+
[2.2.0]: https://github.com/opensearch-project/opensearch-java/compare/v2.1.0...v2.2.0

java-client/src/main/java/org/opensearch/client/opensearch/ingest/PutPipelineRequest.java

+1
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,7 @@ protected static void setupPutPipelineRequestDeserializer(ObjectDeserializer<Put
481481

482482
op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "_meta");
483483
op.add(Builder::description, JsonpDeserializer.stringDeserializer(), "description");
484+
op.add(Builder::id, JsonpDeserializer.stringDeserializer(), "id");
484485
op.add(Builder::onFailure, JsonpDeserializer.arrayDeserializer(Processor._DESERIALIZER), "on_failure");
485486
op.add(Builder::processors, JsonpDeserializer.arrayDeserializer(Processor._DESERIALIZER), "processors");
486487
op.add(Builder::version, JsonpDeserializer.longDeserializer(), "version");

java-client/src/test/java/org/opensearch/client/opensearch/experiments/ParsingTests.java

+27
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@
5353
import org.opensearch.client.opensearch.indices.IndexSettingsSearch;
5454
import org.opensearch.client.opensearch.indices.Translog;
5555
import org.opensearch.client.opensearch.indices.get_field_mapping.TypeFieldMappings;
56+
import org.opensearch.client.opensearch.ingest.ConvertType;
57+
import org.opensearch.client.opensearch.ingest.PutPipelineRequest;
5658
import org.opensearch.client.opensearch.model.ModelTestCase;
5759

5860
public class ParsingTests extends ModelTestCase {
@@ -357,4 +359,29 @@ public void testIndexSettingsSearch() {
357359
assertEquals(search.idle().after().time(), deserialized.idle().after().time());
358360

359361
}
362+
363+
@Test
364+
public void testPutPipelineRequestDeserialization() {
365+
var putPipelineRequest = PutPipelineRequest.of(
366+
b -> b.id("test-pipeline")
367+
.description("pipeline desc")
368+
.processors(p -> p.convert(c -> c.field("age").targetField("age").type(ConvertType.Integer)))
369+
);
370+
371+
var input = "{\"id\":\"test-pipeline\",\"description\":\"pipeline desc\","
372+
+ "\"processors\":[{\"convert\":{\"field\":\"age\",\"target_field\":\"age\",\"type\":\"integer\"}}]}";
373+
374+
var deserialized = fromJson(input, PutPipelineRequest._DESERIALIZER);
375+
376+
assertEquals(putPipelineRequest.id(), deserialized.id());
377+
assertEquals(putPipelineRequest.description(), deserialized.description());
378+
assertEquals(putPipelineRequest.processors().size(), deserialized.processors().size());
379+
380+
var processor = putPipelineRequest.processors().get(0);
381+
var deserializedProcessor = deserialized.processors().get(0);
382+
assertEquals(processor._kind(), deserializedProcessor._kind());
383+
assertEquals(processor.convert().field(), deserializedProcessor.convert().field());
384+
assertEquals(processor.convert().targetField(), deserializedProcessor.convert().targetField());
385+
assertEquals(processor.convert().type(), deserializedProcessor.convert().type());
386+
}
360387
}

0 commit comments

Comments
 (0)