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.
