aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2020-06-13 10:45:15 -0700
committerTatu Saloranta <tatu.saloranta@iki.fi>2020-06-13 10:45:15 -0700
commit26414f5b85e4057f86fe2a29aeb8547abd4d15b6 (patch)
treed1a5fcd8ff894fac74317b1ac70312fd28877458 /src
parent96d9903b4f5dd588c9e2b8703664a778d083c66a (diff)
downloadjackson-databind-26414f5b85e4057f86fe2a29aeb8547abd4d15b6.tar.gz
Minor fixes to coercion fail reporting
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/deser/std/StdDeserializer.java32
-rw-r--r--src/test/java/com/fasterxml/jackson/databind/deser/jdk/JDKScalarsTest.java8
2 files changed, 20 insertions, 20 deletions
diff --git a/src/main/java/com/fasterxml/jackson/databind/deser/std/StdDeserializer.java b/src/main/java/com/fasterxml/jackson/databind/deser/std/StdDeserializer.java
index 80df79142..ed72066d9 100644
--- a/src/main/java/com/fasterxml/jackson/databind/deser/std/StdDeserializer.java
+++ b/src/main/java/com/fasterxml/jackson/databind/deser/std/StdDeserializer.java
@@ -521,7 +521,7 @@ public abstract class StdDeserializer<T>
value = NumberInput.parseInt(text);
} catch (IllegalArgumentException iae) {
return (Byte) ctxt.handleWeirdStringValue(_valueClass, text,
- "not a valid Byte value");
+ "not a valid `byte` value");
}
// So far so good: but does it fit?
// as per [JACKSON-804], allow range up to 255, inclusive
@@ -589,7 +589,7 @@ public abstract class StdDeserializer<T>
value = NumberInput.parseInt(text);
} catch (IllegalArgumentException iae) {
return (Short) ctxt.handleWeirdStringValue(Short.TYPE, text,
- "not a valid Short value");
+ "not a valid `short` value");
}
if (_shortOverflow(value)) {
return (Short) ctxt.handleWeirdStringValue(Short.TYPE, text,
@@ -680,7 +680,7 @@ public abstract class StdDeserializer<T>
if (text.length() > 9) {
long l = Long.parseLong(text);
if (_intOverflow(l)) {
- Number v = (Number) ctxt.handleWeirdStringValue(_valueClass, text,
+ Number v = (Number) ctxt.handleWeirdStringValue(Integer.TYPE, text,
"Overflow: numeric value (%s) out of range of int (%d -%d)",
text, Integer.MIN_VALUE, Integer.MAX_VALUE);
return _nonNullNumber(v).intValue();
@@ -689,8 +689,8 @@ public abstract class StdDeserializer<T>
}
return NumberInput.parseInt(text);
} catch (IllegalArgumentException iae) {
- Number v = (Number) ctxt.handleWeirdStringValue(_valueClass, text,
- "not a valid int value");
+ Number v = (Number) ctxt.handleWeirdStringValue(Integer.TYPE, text,
+ "not a valid `int` value");
return _nonNullNumber(v).intValue();
}
}
@@ -728,7 +728,7 @@ public abstract class StdDeserializer<T>
}
return _parseLongPrimitive(ctxt, text);
case JsonTokenId.ID_NUMBER_FLOAT:
- act = _checkFloatToIntCoercion(ctxt, p, Integer.TYPE);
+ act = _checkFloatToIntCoercion(ctxt, p, Long.TYPE);
if (act == CoercionAction.AsNull) {
return 0L;
}
@@ -746,7 +746,7 @@ public abstract class StdDeserializer<T>
break;
default:
}
- return ((Number) ctxt.handleUnexpectedToken(_valueClass, p)).longValue();
+ return ((Number) ctxt.handleUnexpectedToken(Long.TYPE, p)).longValue();
}
/**
@@ -758,8 +758,8 @@ public abstract class StdDeserializer<T>
return NumberInput.parseLong(text);
} catch (IllegalArgumentException iae) { }
{
- Number v = (Number) ctxt.handleWeirdStringValue(_valueClass, text,
- "not a valid long value");
+ Number v = (Number) ctxt.handleWeirdStringValue(Long.TYPE, text,
+ "not a valid `long` value");
return _nonNullNumber(v).longValue();
}
}
@@ -807,7 +807,7 @@ public abstract class StdDeserializer<T>
break;
}
// Otherwise, no can do:
- return ((Number) ctxt.handleUnexpectedToken(_valueClass, p)).floatValue();
+ return ((Number) ctxt.handleUnexpectedToken(Float.TYPE, p)).floatValue();
}
/**
@@ -834,8 +834,8 @@ public abstract class StdDeserializer<T>
try {
return Float.parseFloat(text);
} catch (IllegalArgumentException iae) { }
- Number v = (Number) ctxt.handleWeirdStringValue(_valueClass, text,
- "not a valid float value");
+ Number v = (Number) ctxt.handleWeirdStringValue(Float.TYPE, text,
+ "not a valid `float` value");
return _nonNullNumber(v).floatValue();
}
@@ -882,7 +882,7 @@ public abstract class StdDeserializer<T>
break;
}
// Otherwise, no can do:
- return ((Number) ctxt.handleUnexpectedToken(_valueClass, p)).doubleValue();
+ return ((Number) ctxt.handleUnexpectedToken(Double.TYPE, p)).doubleValue();
}
/**
@@ -911,8 +911,8 @@ public abstract class StdDeserializer<T>
try {
return parseDouble(text);
} catch (IllegalArgumentException iae) { }
- Number v = (Number) ctxt.handleWeirdStringValue(_valueClass, text,
- "not a valid double value (as String to convert)");
+ Number v = (Number) ctxt.handleWeirdStringValue(Double.TYPE, text,
+ "not a valid `double` value (as String to convert)");
return _nonNullNumber(v).doubleValue();
}
@@ -931,7 +931,7 @@ public abstract class StdDeserializer<T>
// (but leave both until 3.0)
} catch (JsonParseException | InputCoercionException e) {
Number v = (Number) ctxt.handleWeirdNumberValue(_valueClass, p.getNumberValue(),
- "not a valid 64-bit long for creating `java.util.Date`");
+ "not a valid 64-bit `long` for creating `java.util.Date`");
ts = v.longValue();
}
return new java.util.Date(ts);
diff --git a/src/test/java/com/fasterxml/jackson/databind/deser/jdk/JDKScalarsTest.java b/src/test/java/com/fasterxml/jackson/databind/deser/jdk/JDKScalarsTest.java
index 93bddb0fa..3f73439c7 100644
--- a/src/test/java/com/fasterxml/jackson/databind/deser/jdk/JDKScalarsTest.java
+++ b/src/test/java/com/fasterxml/jackson/databind/deser/jdk/JDKScalarsTest.java
@@ -872,10 +872,10 @@ public class JDKScalarsTest
// char[] is special, cannot use generalized test here
// _testInvalidStringCoercionFail(char[].class);
_testInvalidStringCoercionFail(short[].class, "short");
- _testInvalidStringCoercionFail(int[].class);
- _testInvalidStringCoercionFail(long[].class);
- _testInvalidStringCoercionFail(float[].class);
- _testInvalidStringCoercionFail(double[].class);
+ _testInvalidStringCoercionFail(int[].class, "int");
+ _testInvalidStringCoercionFail(long[].class, "long");
+ _testInvalidStringCoercionFail(float[].class, "float");
+ _testInvalidStringCoercionFail(double[].class, "double");
}
private void _testInvalidStringCoercionFail(Class<?> cls) throws IOException