You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by st...@apache.org on 2016/04/03 19:01:29 UTC

[10/10] incubator-johnzon git commit: Merge branch 'master' into JOHNZON-71

Merge branch 'master' into JOHNZON-71


Project: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/commit/22089995
Tree: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/tree/22089995
Diff: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/diff/22089995

Branch: refs/heads/master
Commit: 220899954d6d5e60d37d8659357762b88b265306
Parents: f2a00fb 6740582
Author: Mark Struberg <st...@apache.org>
Authored: Sun Apr 3 18:49:06 2016 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Sun Apr 3 18:49:06 2016 +0200

----------------------------------------------------------------------
 MATURITY.adoc                                   |  10 +-
 MATURITY.html                                   | 784 +++++++++++++++++++
 johnzon-jaxrs/pom.xml                           |   1 -
 .../johnzon/jaxrs/JsrMessageBodyReader.java     |   6 +-
 .../johnzon/jaxrs/JsrMessageBodyWriter.java     |  11 +-
 johnzon-jsonb/pom.xml                           |   2 +
 .../java/org/apache/johnzon/mapper/Mapper.java  |  85 +-
 .../apache/johnzon/mapper/internal/Streams.java | 215 +++++
 johnzon-websocket/pom.xml                       |  29 +-
 jsonb-api/pom.xml                               |   1 +
 pom.xml                                         |  58 +-
 src/site/markdown/index.md.vm                   |  24 +-
 src/site/markdown/security.md.vm                |  39 +
 src/site/resources/images/johnzon_logo.png      | Bin 0 -> 7196 bytes
 src/site/site.xml                               |   6 +-
 15 files changed, 1198 insertions(+), 73 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/22089995/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java
----------------------------------------------------------------------
diff --cc johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java
index aae3c34,9414c37..871a8b9
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Mapper.java
@@@ -259,16 -276,8 +260,8 @@@ public class Mapper implements Closeabl
          return generator;
      }
  
-     private void doCloseOrFlush(final JsonGenerator generator) {
-         if (config.isClose()) {
-             generator.close();
-         } else {
-             generator.flush();
-         }
-     }
- 
      public <T> void writeIterable(final Iterable<T> object, final OutputStream stream) {
 -        writeIterable(object, new OutputStreamWriter(stream, encoding));
 +        writeIterable(object, new OutputStreamWriter(stream, config.getEncoding()));
      }
  
      public <T> void writeIterable(final Iterable<T> object, final Writer stream) {
@@@ -311,25 -320,13 +304,22 @@@
              }
              return;
          }
 +
-         final JsonGenerator generator = generatorFactory.createGenerator(stream);
+         final JsonGenerator generator = generatorFactory.createGenerator(stream(stream));
 -        doWriteHandlingNullObject(object, generator);
 +        writeObject(object, generator);
      }
  
      public void writeObject(final Object object, final OutputStream stream) {
-         final JsonGenerator generator = generatorFactory.createGenerator(stream, config.getEncoding());
 -        final JsonGenerator generator = generatorFactory.createGenerator(stream(stream), encoding);
 -        doWriteHandlingNullObject(object, generator);
++        final JsonGenerator generator = generatorFactory.createGenerator(stream(stream), config.getEncoding());
 +        writeObject(object, generator);
 +    }
 +
 +    private void writeObject(Object object, JsonGenerator generator) {
-         try {
-             MappingGenerator mappingGenerator = new MappingGeneratorImpl(config, generator, mappings);
-             generator.writeStartObject();
-             mappingGenerator.writeObject(object);
-             generator.writeEnd();
-         } finally {
-             doCloseOrFlush(generator);
-         }
++        MappingGenerator mappingGenerator = new MappingGeneratorImpl(config, generator, mappings);
++        generator.writeStartObject();
++        mappingGenerator.writeObject(object);
++        generator.writeEnd();
++        generator.close();
      }
  
      public String writeArrayAsString(final Collection<?> instance) {
@@@ -481,11 -484,11 +472,11 @@@
                                       final String key, final Object value) throws InvocationTargetException, IllegalAccessException {
          if (array) {
              final int length = Array.getLength(value);
 -            if (length == 0 && skipEmptyArray) {
 +            if (length == 0 && config.isSkipEmptyArray()) {
                  return generator;
              }
-             
+ 
 -            if(treatByteArrayAsBase64 && (type == byte[].class /*|| type == Byte[].class*/)) {
 +            if(config.isTreatByteArrayAsBase64() && (type == byte[].class /*|| type == Byte[].class*/)) {
                  String base64EncodedByteArray = DatatypeConverter.printBase64Binary((byte[]) value);
                  generator.write(key, base64EncodedByteArray);
                  return generator;
@@@ -1025,6 -1020,22 +1016,22 @@@
          return array;
      }
  
+     private Reader stream(final Reader stream) {
 -        return !close ? noClose(stream) : stream;
++        return !config.isClose() ? noClose(stream) : stream;
+     }
+ 
+     private Writer stream(final Writer stream) {
 -        return !close ? noClose(stream) : stream;
++        return !config.isClose() ? noClose(stream) : stream;
+     }
+ 
+     private OutputStream stream(final OutputStream stream) {
 -        return !close ? noClose(stream) : stream;
++        return !config.isClose() ? noClose(stream) : stream;
+     }
+ 
+     private InputStream stream(final InputStream stream) {
 -        return !close ? noClose(stream) : stream;
++        return !config.isClose() ? noClose(stream) : stream;
+     }
+ 
      @Override
      public synchronized void close() {
          Collection<Exception> errors = null;