diff options
author | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-06-13 10:45:15 -0700 |
---|---|---|
committer | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-06-13 10:45:15 -0700 |
commit | 26414f5b85e4057f86fe2a29aeb8547abd4d15b6 (patch) | |
tree | d1a5fcd8ff894fac74317b1ac70312fd28877458 /src | |
parent | 96d9903b4f5dd588c9e2b8703664a778d083c66a (diff) | |
download | jackson-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.java | 32 | ||||
-rw-r--r-- | src/test/java/com/fasterxml/jackson/databind/deser/jdk/JDKScalarsTest.java | 8 |
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 |