diff options
author | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-06-21 12:54:10 -0700 |
---|---|---|
committer | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-06-21 12:54:10 -0700 |
commit | 6a3d88d2b686ae3fac7337d9fce15f0ab9f3672a (patch) | |
tree | 6fdf96005512d261bd1adf371bbd874707fdc7bf /src | |
parent | b1237dcf988dd9f9b6bc03d9af8b796abeb9151b (diff) | |
download | jackson-databind-6a3d88d2b686ae3fac7337d9fce15f0ab9f3672a.tar.gz |
Minor tweak to consider Date/Time types as scalars wrt `MapperFeature.ALLOW_COERCION_OF_SCALARS`
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java b/src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java index 094999b18..50fae96dc 100644 --- a/src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java +++ b/src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java @@ -203,11 +203,14 @@ public class CoercionConfigs CoercionAction.TryConvert : CoercionAction.Fail; } - final boolean classicScalar = (targetType == LogicalType.Float) + // classic scalars are numbers, booleans; but date/time also considered + // scalar for this particular purpose + final boolean baseScalar = (targetType == LogicalType.Float) || (targetType == LogicalType.Integer) - || (targetType == LogicalType.Boolean); + || (targetType == LogicalType.Boolean) + || (targetType == LogicalType.DateTime); - if (classicScalar) { + if (baseScalar) { // Default for setting in 2.x is true if (!config.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS)) { return CoercionAction.Fail; @@ -217,8 +220,7 @@ public class CoercionConfigs if (inputShape == CoercionInputShape.EmptyString) { // Since coercion of scalar must be enabled (see check above), allow empty-string // coercions by default even without this setting - if (classicScalar - || (targetType == LogicalType.DateTime) + if (baseScalar // Default for setting is false || config.isEnabled(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT)) { return CoercionAction.AsNull; |