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