Thks Reinhard!

Le 29 nov. 2017 22:46, "Reinhard Sandtner" <[email protected]> a
écrit :

no because the writer also has the noclose ‚option‘

private Writer stream(final Writer stream) {
    return !config.isClose() ? noClose(stream) : stream;
}


> Am 29.11.2017 um 21:11 schrieb Romain Manni-Bucau <[email protected]>:
>
> 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