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

Reply via email to