Repository: johnzon
Updated Branches:
  refs/heads/master adf1c6df8 -> dd294bd13


JOHNZON-113 wiring jsonparserfactoryimpl options to jsonb impl


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

Branch: refs/heads/master
Commit: dd294bd133d4f756b46afa5d5243ada34d91c201
Parents: adf1c6d
Author: rmannibucau <[email protected]>
Authored: Tue Apr 18 14:40:37 2017 +0200
Committer: rmannibucau <[email protected]>
Committed: Tue Apr 18 14:40:37 2017 +0200

----------------------------------------------------------------------
 .../org/apache/johnzon/jsonb/JohnzonBuilder.java     | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/johnzon/blob/dd294bd1/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java
----------------------------------------------------------------------
diff --git 
a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java 
b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java
index 798b770..0b08a55 100644
--- a/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java
+++ b/johnzon-jsonb/src/main/java/org/apache/johnzon/jsonb/JohnzonBuilder.java
@@ -20,6 +20,7 @@ package org.apache.johnzon.jsonb;
 
 import org.apache.johnzon.core.AbstractJsonFactory;
 import org.apache.johnzon.core.JsonGeneratorFactoryImpl;
+import org.apache.johnzon.core.JsonParserFactoryImpl;
 import org.apache.johnzon.jsonb.cdi.CDIs;
 import org.apache.johnzon.jsonb.converter.JohnzonJsonbAdapter;
 import org.apache.johnzon.jsonb.factory.SimpleJohnzonAdapterFactory;
@@ -114,7 +115,7 @@ public class JohnzonBuilder implements JsonbBuilder {
     public Jsonb build() {
         if (jsonp != null) {
             
builder.setGeneratorFactory(jsonp.createGeneratorFactory(generatorConfig()));
-            builder.setReaderFactory(jsonp.createReaderFactory(emptyMap()));
+            
builder.setReaderFactory(jsonp.createReaderFactory(readerConfig()));
         }
         final Supplier<JsonParserFactory> parserFactoryProvider = new 
Supplier<JsonParserFactory>() { // thread safety is not mandatory
             private final AtomicReference<JsonParserFactory> ref = new 
AtomicReference<>();
@@ -679,4 +680,16 @@ public class JohnzonBuilder implements JsonbBuilder {
         config.getProperty(JsonbConfig.FORMATTING).ifPresent(b -> 
map.put(JsonGenerator.PRETTY_PRINTING, b));
         return map;
     }
+
+    private Map<String, ?> readerConfig() {
+        final Map<String, Object> map = new HashMap<>();
+        if (config == null) {
+            return map;
+        }
+        config.getProperty(JsonParserFactoryImpl.BUFFER_LENGTH).ifPresent(b -> 
map.put(JsonParserFactoryImpl.BUFFER_LENGTH, b));
+        
config.getProperty(JsonParserFactoryImpl.MAX_STRING_LENGTH).ifPresent(b -> 
map.put(JsonParserFactoryImpl.MAX_STRING_LENGTH, b));
+        
config.getProperty(JsonParserFactoryImpl.SUPPORTS_COMMENTS).ifPresent(b -> 
map.put(JsonParserFactoryImpl.SUPPORTS_COMMENTS, b));
+        config.getProperty(AbstractJsonFactory.BUFFER_STRATEGY).ifPresent(b -> 
map.put(AbstractJsonFactory.BUFFER_STRATEGY, b));
+        return map;
+    }
 }

Reply via email to