Repository: johnzon
Updated Branches:
  refs/heads/master 4345b0a76 -> 7c6933dcd


JOHNZON-145 improve error handling on missing converter


Project: http://git-wip-us.apache.org/repos/asf/johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/johnzon/commit/7c6933dc
Tree: http://git-wip-us.apache.org/repos/asf/johnzon/tree/7c6933dc
Diff: http://git-wip-us.apache.org/repos/asf/johnzon/diff/7c6933dc

Branch: refs/heads/master
Commit: 7c6933dcdc799b3e8934dea0b85926fafef5e12d
Parents: 4345b0a
Author: Mark Struberg <[email protected]>
Authored: Fri Nov 10 10:17:29 2017 +0100
Committer: Mark Struberg <[email protected]>
Committed: Fri Nov 10 10:17:29 2017 +0100

----------------------------------------------------------------------
 .../johnzon/mapper/MappingParserImpl.java       | 20 ++------------------
 1 file changed, 2 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/johnzon/blob/7c6933dc/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 ab05b52..538b737 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
@@ -80,7 +80,6 @@ import static javax.json.JsonValue.ValueType.TRUE;
  */
 public class MappingParserImpl implements MappingParser {
 
-    private static final Adapter<Object, String> FALLBACK_CONVERTER = new 
ConverterAdapter<Object>(new FallbackConverter());
     private static final JohnzonParameterizedType ANY_LIST = new 
JohnzonParameterizedType(List.class, Object.class);
     private static final CharacterConverter CHARACTER_CONVERTER = new 
CharacterConverter(); // this one is particular, share the logic
 
@@ -739,8 +738,8 @@ public class MappingParserImpl implements MappingParser {
             }
         }
         if (converter == null) {
-            config.getAdapters().putIfAbsent(new AdapterKey(String.class, 
aClass), FALLBACK_CONVERTER);
-            return FALLBACK_CONVERTER.to(text);
+            throw new MapperException("Missing a Converter for type " + aClass 
+ " to convert the JSON String '" +
+                    text + "' . Please register a custom converter for it.");
         }
         return converter.to(text);
     }
@@ -764,21 +763,6 @@ public class MappingParserImpl implements MappingParser {
         return null;
     }
 
-
-    private static class FallbackConverter implements Converter<Object> {
-        @Override
-        public String toString(final Object instance) {
-            return instance.toString();
-        }
-
-        @Override
-        public Object fromString(final String text) {
-            throw new MapperException("Using fallback converter, " +
-                    "this only works in write mode but not in read. Please 
register a custom converter to do so.");
-        }
-    }
-
-
     /**
      * Internal class to suppress {@link ObjectConverter} lookup if and only if
      * the {@link JsonValue} is the same refernece than the lookup was done 
before.

Reply via email to