Skip to content

Commit b6c6d4b

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

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

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

+34-5
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434

3535
import java.util.Arrays;
3636
import java.util.Map;
37+
3738
import org.junit.Test;
39+
import org.opensearch.client.json.JsonData;
3840
import org.opensearch.client.opensearch._types.Time;
3941
import org.opensearch.client.opensearch._types.analysis.Analyzer;
4042
import org.opensearch.client.opensearch._types.analysis.TokenFilterDefinition;
@@ -53,6 +55,8 @@
5355
import org.opensearch.client.opensearch.indices.IndexSettingsSearch;
5456
import org.opensearch.client.opensearch.indices.Translog;
5557
import org.opensearch.client.opensearch.indices.get_field_mapping.TypeFieldMappings;
58+
import org.opensearch.client.opensearch.ingest.ConvertType;
59+
import org.opensearch.client.opensearch.ingest.PutPipelineRequest;
5660
import org.opensearch.client.opensearch.model.ModelTestCase;
5761

5862
public class ParsingTests extends ModelTestCase {
@@ -320,11 +324,11 @@ public void testIndexSettingsSearch() {
320324
s -> s.level("info")
321325
.threshold(
322326
t -> t.query(
323-
it -> it.debug(Time.of(ti -> ti.time("500ms")))
324-
.info(Time.of(ti -> ti.time("1000ms")))
325-
.trace(Time.of(ti -> ti.time("200ms")))
326-
.warn(Time.of(ti -> ti.time("5000ms")))
327-
)
327+
it -> it.debug(Time.of(ti -> ti.time("500ms")))
328+
.info(Time.of(ti -> ti.time("1000ms")))
329+
.trace(Time.of(ti -> ti.time("200ms")))
330+
.warn(Time.of(ti -> ti.time("5000ms")))
331+
)
328332
.fetch(
329333
it -> it.debug(Time.of(ti -> ti.time("5ms")))
330334
.info(Time.of(ti -> ti.time("10ms")))
@@ -357,4 +361,29 @@ public void testIndexSettingsSearch() {
357361
assertEquals(search.idle().after().time(), deserialized.idle().after().time());
358362

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

0 commit comments

Comments
 (0)