map list<list<ClassA>> to list<list<ClassB> doesnt work

54 views
Skip to first unread message

Martin Sedláček

unread,
Sep 21, 2018, 2:28:22 AM9/21/18
to Dozer Mapper

ClassA and ClassB have same fields, but problem lies elsewhere. 

java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class

at org.dozer.util.ReflectionUtils.determineGenericsType(ReflectionUtils.java:401)
at org.dozer.util.ReflectionUtils.determineGenericsType(ReflectionUtils.java:389)
at org.dozer.propertydescriptor.GetterSetterPropertyDescriptor.genericType(GetterSetterPropertyDescriptor.java:354)
at org.dozer.fieldmap.FieldMap.getGenericType(FieldMap.java:145)
at org.dozer.MappingProcessor.mapCollection(MappingProcessor.java:505)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:434)
at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:342)
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:288)
at org.dozer.MappingProcessor.map(MappingProcessor.java:248)
at org.dozer.MappingProcessor.map(MappingProcessor.java:197)
at org.dozer.MappingProcessor.mapCustomObject(MappingProcessor.java:495)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:446)
at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:342)
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:288)
at org.dozer.MappingProcessor.map(MappingProcessor.java:248)
at org.dozer.MappingProcessor.map(MappingProcessor.java:197)
at org.dozer.MappingProcessor.mapCustomObject(MappingProcessor.java:495)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:446)
at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:342)
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:288)
at org.dozer.MappingProcessor.map(MappingProcessor.java:248)
at org.dozer.MappingProcessor.map(MappingProcessor.java:197)
at org.dozer.MappingProcessor.map(MappingProcessor.java:187)
at org.dozer.MappingProcessor.map(MappingProcessor.java:124)
at org.dozer.MappingProcessor.map(MappingProcessor.java:119)
at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:120)

When I provide this hint, it creates List<CLassB> instead of List<List<ClassB>>
<mapping>
<class-a>a</class-a>
<class-b>b</class-b>
<field>
<a>fields</a>
<b>fields</b>
<b-hint>ClassB</b-hint>
</field>
</mapping>


When I provide this hint, it creates List and inside are empty lists, but they should pe populated with ClassB.

<mapping>
<class-a>a</class-a>
<class-b>b</class-b>
<field>
<a>fields</a>
<b>fields</b>
<b-hint>java.util.List</b-hint>
</field>
</mapping>

Gareth Healy

unread,
Sep 23, 2018, 6:35:35 AM9/23/18
to Dozer Mapper
Can you provide a github repo with a junit test please showing the problem. Makes it easier to debug.
Reply all
Reply to author
Forward
0 new messages