You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by rm...@apache.org on 2021/01/25 10:54:44 UTC
[johnzon] 03/03: [JOHNZON-332] merge jsonb builder with new
skipAccessModeWrapper toggle for consistency
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 <rm...@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