From 479d191cd7da2f5883284073568b3144bcc18356 Mon Sep 17 00:00:00 2001 From: Daniel Finger Date: Wed, 9 Mar 2022 12:42:17 -0300 Subject: [PATCH 1/2] Fix boolean json write in JacksonJsonpGenerator. --- .../json/jackson/JacksonJsonpGenerator.java | 2 +- .../jackson/JacksonJsonpGeneratorTest.java | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 java-client/src/test/java/co/elastic/clients/json/jackson/JacksonJsonpGeneratorTest.java diff --git a/java-client/src/main/java/co/elastic/clients/json/jackson/JacksonJsonpGenerator.java b/java-client/src/main/java/co/elastic/clients/json/jackson/JacksonJsonpGenerator.java index 9ad6f56a6..5f04bcae8 100644 --- a/java-client/src/main/java/co/elastic/clients/json/jackson/JacksonJsonpGenerator.java +++ b/java-client/src/main/java/co/elastic/clients/json/jackson/JacksonJsonpGenerator.java @@ -182,7 +182,7 @@ public JsonGenerator write(String name, double value) { public JsonGenerator write(String name, boolean value) { try { generator.writeFieldName(name); - generator.writeBooleanField(name, value); + generator.writeBoolean(value); } catch (IOException e) { throw JacksonUtils.convertException(e); } diff --git a/java-client/src/test/java/co/elastic/clients/json/jackson/JacksonJsonpGeneratorTest.java b/java-client/src/test/java/co/elastic/clients/json/jackson/JacksonJsonpGeneratorTest.java new file mode 100644 index 000000000..b4c0b9532 --- /dev/null +++ b/java-client/src/test/java/co/elastic/clients/json/jackson/JacksonJsonpGeneratorTest.java @@ -0,0 +1,41 @@ +package co.elastic.clients.json.jackson; + +import jakarta.json.stream.JsonGenerator; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.io.StringWriter; + +public class JacksonJsonpGeneratorTest extends Assert { + JacksonJsonpGenerator jacksonJsonpGenerator; + StringWriter sw; + + @Before + public void setup(){ + sw = new StringWriter(); + jacksonJsonpGenerator= (JacksonJsonpGenerator) new JacksonJsonProvider().createGenerator(sw); + } + + @Test + public void testWriteBooleanTrue(){ + jacksonJsonpGenerator.writeStartObject(); + jacksonJsonpGenerator.write("test", true); + jacksonJsonpGenerator.writeEnd(); + + jacksonJsonpGenerator.flush(); + + assertEquals("{\"test\":true}", sw.toString()); + } + + @Test + public void testWriteBooleanFalse(){ + jacksonJsonpGenerator.writeStartObject(); + jacksonJsonpGenerator.write("test", false); + jacksonJsonpGenerator.writeEnd(); + + jacksonJsonpGenerator.flush(); + + assertEquals("{\"test\":false}", sw.toString()); + } +} From 5aa10ce3d63b625c19310f8ac5126e32d45d7151 Mon Sep 17 00:00:00 2001 From: Daniel Finger Date: Wed, 9 Mar 2022 12:51:15 -0300 Subject: [PATCH 2/2] Fix checkstyle --- .../jackson/JacksonJsonpGeneratorTest.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/java-client/src/test/java/co/elastic/clients/json/jackson/JacksonJsonpGeneratorTest.java b/java-client/src/test/java/co/elastic/clients/json/jackson/JacksonJsonpGeneratorTest.java index b4c0b9532..bd38b1508 100644 --- a/java-client/src/test/java/co/elastic/clients/json/jackson/JacksonJsonpGeneratorTest.java +++ b/java-client/src/test/java/co/elastic/clients/json/jackson/JacksonJsonpGeneratorTest.java @@ -1,6 +1,23 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package co.elastic.clients.json.jackson; -import jakarta.json.stream.JsonGenerator; import org.junit.Assert; import org.junit.Before; import org.junit.Test;