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;
     }

Reply via email to