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);
+        }
     }
 
 

Reply via email to