This is an automated email from the ASF dual-hosted git repository. rmannibucau pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/johnzon.git
commit 343c8318c0236a7fa04f308261c4a4b59cd60745 Author: Romain Manni-Bucau <rmannibu...@gmail.com> AuthorDate: Mon Jan 25 11:54:35 2021 +0100 [JOHNZON-332] merge jsonb builder with new skipAccessModeWrapper toggle for consistency --- .../org/apache/johnzon/jsonb/JohnzonBuilder.java | 41 ++++++++++------------ 1 file changed, 19 insertions(+), 22 deletions(-) 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 52878dc..0b749a4 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 @@ -38,7 +38,6 @@ import org.apache.johnzon.mapper.ObjectConverter; import org.apache.johnzon.mapper.SerializeValueFilter; import org.apache.johnzon.mapper.access.AccessMode; import org.apache.johnzon.mapper.access.FieldAndMethodAccessMode; -import org.apache.johnzon.mapper.access.KnownNotOpenedJavaTypesAccessMode; import org.apache.johnzon.mapper.converter.LocaleConverter; import org.apache.johnzon.mapper.internal.AdapterKey; @@ -212,29 +211,27 @@ public class JohnzonBuilder implements JsonbBuilder { throw new IllegalArgumentException("Unsupported factory: " + val); }).orElseGet(() -> findFactory(skipCdi)); + ofNullable(config.getProperty("johnzon.skip-exception-serialization")) + .map(v -> Boolean.parseBoolean(String.valueOf(v))) + .ifPresent(builder::setSkipAccessModeWrapper); + final AccessMode accessMode = config.getProperty("johnzon.accessMode") .map(this::toAccessMode) - .orElseGet(() -> { - final AccessMode access = new JsonbAccessMode( - propertyNamingStrategy, orderValue, visibilityStrategy, - !namingStrategyValue.orElse("").equals(PropertyNamingStrategy.CASE_INSENSITIVE), - builder.getAdapters(), - factory, jsonp, builderFactorySupplier, parserFactoryProvider, - config.getProperty("johnzon.accessModeDelegate") - .map(this::toAccessMode) - .orElseGet(() -> new FieldAndMethodAccessMode(true, true, false, true)), - config.getProperty("johnzon.failOnMissingCreatorValues") - .map(this::toBool) - .orElse(true) /*spec 1.0 requirement*/, - isNillable, - config.getProperty("johnzon.supportsPrivateAccess") - .map(this::toBool) - .orElse(false)); - return ofNullable(config.getProperty("johnzon.enable-exception-serialization")) - .map(v -> Boolean.parseBoolean(String.valueOf(v))) - .map(it -> it ? new KnownNotOpenedJavaTypesAccessMode(access) : access) - .orElseGet(() -> new KnownNotOpenedJavaTypesAccessMode(access)); - }); + .orElseGet(() -> new JsonbAccessMode( + propertyNamingStrategy, orderValue, visibilityStrategy, + !namingStrategyValue.orElse("").equals(PropertyNamingStrategy.CASE_INSENSITIVE), + builder.getAdapters(), + factory, jsonp, builderFactorySupplier, parserFactoryProvider, + config.getProperty("johnzon.accessModeDelegate") + .map(this::toAccessMode) + .orElseGet(() -> new FieldAndMethodAccessMode(true, true, false, true)), + config.getProperty("johnzon.failOnMissingCreatorValues") + .map(this::toBool) + .orElse(true) /*spec 1.0 requirement*/, + isNillable, + config.getProperty("johnzon.supportsPrivateAccess") + .map(this::toBool) + .orElse(false))); builder.setAccessMode(accessMode); // user adapters