JOHNZON-164 proper handling of conversion Exceptions
Project: http://git-wip-us.apache.org/repos/asf/johnzon/repo Commit: http://git-wip-us.apache.org/repos/asf/johnzon/commit/a9b26270 Tree: http://git-wip-us.apache.org/repos/asf/johnzon/tree/a9b26270 Diff: http://git-wip-us.apache.org/repos/asf/johnzon/diff/a9b26270 Branch: refs/heads/master Commit: a9b26270a55b6d6a64fed42aa3e73daf932dcbc9 Parents: cec66e8 Author: Mark Struberg <[email protected]> Authored: Thu Mar 29 10:48:02 2018 +0200 Committer: Mark Struberg <[email protected]> Committed: Thu Mar 29 10:48:02 2018 +0200 ---------------------------------------------------------------------- .../java/org/apache/johnzon/jsonb/JsonbReadTest.java | 1 - .../org/apache/johnzon/mapper/MappingParserImpl.java | 13 ++++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/johnzon/blob/a9b26270/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java ---------------------------------------------------------------------- diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java index d8e2d9d..bd63127 100644 --- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java +++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbReadTest.java @@ -20,7 +20,6 @@ package org.apache.johnzon.jsonb; import org.junit.Test; -import javax.json.Json; import javax.json.bind.JsonbConfig; import javax.json.bind.JsonbException; import javax.json.bind.annotation.JsonbDateFormat; http://git-wip-us.apache.org/repos/asf/johnzon/blob/a9b26270/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java ---------------------------------------------------------------------- diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java index 8e74e3c..c16ce92 100644 --- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java +++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/MappingParserImpl.java @@ -696,9 +696,16 @@ public class MappingParserImpl implements MappingParser { } } - return converter == null ? toObject(baseInstance, jsonValue, type, itemConverter, jsonPointer, rootType) - : jsonValue.getValueType() == JsonValue.ValueType.STRING ? converter.to(JsonString.class.cast(jsonValue).getString()) - : convertTo(converter, jsonValue, jsonPointer); + try { + return converter == null ? toObject(baseInstance, jsonValue, type, itemConverter, jsonPointer, rootType) + : jsonValue.getValueType() == JsonValue.ValueType.STRING ? converter.to(JsonString.class.cast(jsonValue).getString()) + : convertTo(converter, jsonValue, jsonPointer); + } catch (Exception e) { + if (e instanceof MapperException) { + throw e; + } + throw new MapperException(e); + } }
