Didnt we loose the noclose respect here? ---------- Message transféré ---------- De : <[email protected]> Date : 29 nov. 2017 20:47 Objet : johnzon git commit: JOHNZON-148 fixed Stream serializing for primitives À : <[email protected]> Cc :
Repository: johnzon Updated Branches: refs/heads/master 0317594b9 -> 09dd93ef1 JOHNZON-148 fixed Stream serializing for primitives Project: http://git-wip-us.apache.org/repos/asf/johnzon/repo Commit: http://git-wip-us.apache.org/repos/asf/johnzon/commit/09dd93ef Tree: http://git-wip-us.apache.org/repos/asf/johnzon/tree/09dd93ef Diff: http://git-wip-us.apache.org/repos/asf/johnzon/diff/09dd93ef Branch: refs/heads/master Commit: 09dd93ef1899cab85f7289ae2522d0123f2b0897 Parents: 0317594 Author: Reinhard Sandtner <[email protected]> Authored: Wed Nov 29 20:47:13 2017 +0100 Committer: Reinhard Sandtner <[email protected]> Committed: Wed Nov 29 20:47:13 2017 +0100 ---------------------------------------------------------------------- .../org/apache/johnzon/jsonb/JsonbReadTest.java | 18 ++++++++++++++++++ .../java/org/apache/johnzon/mapper/Mapper.java | 13 +++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/johnzon/blob/ 09dd93ef/johnzon-jsonb/src/test/java/org/apache/johnzon/ jsonb/JsonbReadTest.java ---------------------------------------------------------------------- diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java index 4b19cff..4b03916 100644 --- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ JsonbReadTest.java +++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/ JsonbReadTest.java @@ -23,13 +23,31 @@ import org.junit.Test; import javax.json.bind.annotation.JsonbDateFormat; import javax.json.bind.annotation.JsonbProperty; import javax.json.bind.spi.JsonbProvider; +import java.io.ByteArrayInputStream; import java.io.StringReader; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; public class JsonbReadTest { + + @Test + public void boolFromString() { + assertTrue(JsonbProvider.provider().create().build().fromJson("true", Boolean.class)); + } + + @Test + public void boolFromReader() { + assertTrue(JsonbProvider.provider().create().build().fromJson(new StringReader("true"), Boolean.class)); + } + + @Test + public void boolFromStream() { + assertTrue(JsonbProvider.provider().create().build().fromJson(new ByteArrayInputStream("true".getBytes()), Boolean.class)); + } + @Test public void simple() { assertEquals("test", JsonbProvider.provider().create().build().fromJson(new StringReader("{\"value\":\"test\"}"), Simple.class).value); http://git-wip-us.apache.org/repos/asf/johnzon/blob/ 09dd93ef/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java ---------------------------------------------------------------------- diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java index 52b57da..4bcc775 100644 --- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java +++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java @@ -40,6 +40,7 @@ import java.lang.reflect.Array; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collection; @@ -145,8 +146,12 @@ public class Mapper implements Closeable { } public void writeObject(final Object object, final OutputStream stream) { - final JsonGenerator generator = generatorFactory. createGenerator(stream(stream), config.getEncoding()); - writeObject(object, generator, null, isDeduplicateObjects(object.getClass()) ? new JsonPointerTracker(null, "/") : null); + Charset charset = config.getEncoding(); + if (charset == null) { + charset = StandardCharsets.UTF_8; + } + + writeObject(object, new OutputStreamWriter(stream, charset)); } private void writeObject(final Object object, final JsonGenerator generator, final Collection<String> ignored, JsonPointerTracker jsonPointer) { @@ -265,10 +270,6 @@ public class Mapper implements Closeable { return !config.isClose() ? noClose(stream) : stream; } - private OutputStream stream(final OutputStream stream) { - return !config.isClose() ? noClose(stream) : stream; - } - private InputStream stream(final InputStream stream) { return !config.isClose() ? noClose(stream) : stream; }
