You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by st...@apache.org on 2017/11/10 09:18:12 UTC

johnzon git commit: JOHNZON-145 improve error handling on missing converter

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 <st...@apache.org>
Authored: Fri Nov 10 10:17:29 2017 +0100
Committer: Mark Struberg <st...@apache.org>
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.