[ https://issues.apache.org/jira/browse/JOHNZON-219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16876046#comment-16876046 ]
Jin Kwon edited comment on JOHNZON-219 at 7/1/19 9:25 AM: ---------------------------------------------------------- Confirmed. I think we have a problem in {{Mappings.java}}, especially, {code:java} ClassMapping classMapping = classes.get(clazz); // clazz: Some$SomeError<Void> // classes#key: VoidSome {code} The {{clazz}} is {{Some$SomeError<Void>}} while the key is {{VoidSome}}. was (Author: jinahya): Confirmed. I think we have a problem in {{Mappings.java}}, especially, {code:java} ClassMapping classMapping = classes.get(clazz); {code} The {{clazz}} is {{Some$SomeError<Void>}} while the key is {{VoidSome}}. > A null classMapping for inner class with fields. > ------------------------------------------------ > > Key: JOHNZON-219 > URL: https://issues.apache.org/jira/browse/JOHNZON-219 > Project: Johnzon > Issue Type: Bug > Components: JSON-B > Affects Versions: 1.1.12 > Reporter: Jin Kwon > Priority: Major > > I'm sorry I can't find any good words for the issue. > With following code, > {code:java} > public static class Some<T, U extends Some.SomeError<?>, V> { > public static class SomeError<W> { > @Setter > @Getter > private int code; > @Setter > @Getter > private W data; > } > @Setter > @Getter > private T t; > @Setter > @Getter > private U u; > @Setter > @Getter > private V v; > } > public static class VoidSome extends Some<Void, Some.SomeError<Void>, > Void> { > } > @Test > void test() throws IOException { > final String a = "{\"t\": null, \"u\": {\"code\":1}, \"v\": null}"; > final String b = "{\"t\": null, \"u\": null, \"v\": null}"; > //final Some<Void, Some.SomeError<Void>, Void> value = > JSONB.fromJson(b, VoidSome.class); > final Some<Void, Some.SomeError<Void>, Void> value = > JSONB.fromJson(a, VoidSome.class); > log.debug("value: {}", value); > } > {code} > I got, > {code} > javax.json.bind.JsonbException: Can't map > com.github.jinahya.jsonrpc.bind.JsonbTest$Some$SomeError<java.lang.Void> > Caused by: org.apache.johnzon.mapper.MapperException: Can't map > com.github.jinahya.jsonrpc.bind.JsonbTest$Some$SomeError<java.lang.Void> > at > org.apache.johnzon.mapper.MappingParserImpl.buildObject(MappingParserImpl.java:277) > at > org.apache.johnzon.mapper.MappingParserImpl.toObject(MappingParserImpl.java:537) > at > org.apache.johnzon.mapper.MappingParserImpl.toValue(MappingParserImpl.java:736) > at > org.apache.johnzon.mapper.MappingParserImpl.buildObject(MappingParserImpl.java:338) > at > org.apache.johnzon.mapper.MappingParserImpl.readObject(MappingParserImpl.java:141) > at > org.apache.johnzon.mapper.MappingParserImpl.readObject(MappingParserImpl.java:133) > at > org.apache.johnzon.mapper.MappingParserImpl.readObject(MappingParserImpl.java:125) > at org.apache.johnzon.mapper.Mapper.mapObject(Mapper.java:328) > at org.apache.johnzon.mapper.Mapper.readObject(Mapper.java:267) > at org.apache.johnzon.mapper.Mapper.readObject(Mapper.java:262) > at org.apache.johnzon.jsonb.JohnzonJsonb.fromJson(JohnzonJsonb.java:60) > ... 64 more > {code} > Weird somehow, > When I remove {{code}} property and use {{b}} instead, it works. > I tried to debug the code and I failed. -- This message was sent by Atlassian JIRA (v7.6.3#76005)