aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java12
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;