Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WildcardTypeImpl cannot be cast to java.lang.Class #292

Closed
dhanaraj opened this issue Aug 4, 2016 · 4 comments
Closed

WildcardTypeImpl cannot be cast to java.lang.Class #292

dhanaraj opened this issue Aug 4, 2016 · 4 comments

Comments

@dhanaraj
Copy link

dhanaraj commented Aug 4, 2016

java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.WildcardTypeImpl cannot be cast to java.lang.Class
at org.dozer.util.ReflectionUtils.determineGenericsType(ReflectionUtils.java:416)
at org.dozer.util.ReflectionUtils.determineGenericsType(ReflectionUtils.java:395)
at org.dozer.propertydescriptor.GetterSetterPropertyDescriptor.genericType(GetterSetterPropertyDescriptor.java:363)
at org.dozer.fieldmap.FieldMap.getGenericType(FieldMap.java:141)
at org.dozer.MappingProcessor.mapCollection(MappingProcessor.java:525)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:453)
at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:361)
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:307)
at org.dozer.MappingProcessor.map(MappingProcessor.java:267)
at org.dozer.MappingProcessor.mapToDestObject(MappingProcessor.java:216)
at org.dozer.MappingProcessor.createByCreationDirectiveAndMap(MappingProcessor.java:196)
at org.dozer.MappingProcessor.mapCustomObject(MappingProcessor.java:512)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:465)
at org.dozer.MappingProcessor.addOrUpdateToList(MappingProcessor.java:820)
at org.dozer.MappingProcessor.addOrUpdateToList(MappingProcessor.java:894)
at org.dozer.MappingProcessor.mapListToList(MappingProcessor.java:730)
at org.dozer.MappingProcessor.mapCollection(MappingProcessor.java:580)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:453)
at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:361)
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:307)
at org.dozer.MappingProcessor.map(MappingProcessor.java:267)
at org.dozer.MappingProcessor.mapToDestObject(MappingProcessor.java:216)
at org.dozer.MappingProcessor.createByCreationDirectiveAndMap(MappingProcessor.java:196)
at org.dozer.MappingProcessor.mapCustomObject(MappingProcessor.java:512)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:465)
at org.dozer.MappingProcessor.addToSet(MappingProcessor.java:757)
at org.dozer.MappingProcessor.mapCollection(MappingProcessor.java:570)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:453)
at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:361)
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:307)
at org.dozer.MappingProcessor.map(MappingProcessor.java:267)
at org.dozer.MappingProcessor.mapToDestObject(MappingProcessor.java:216)
at org.dozer.MappingProcessor.createByCreationDirectiveAndMap(MappingProcessor.java:196)
at org.dozer.MappingProcessor.mapCustomObject(MappingProcessor.java:512)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:465)
at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:361)
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:307)
at org.dozer.MappingProcessor.map(MappingProcessor.java:267)
at org.dozer.MappingProcessor.mapToDestObject(MappingProcessor.java:216)
at org.dozer.MappingProcessor.createByCreationDirectiveAndMap(MappingProcessor.java:196)
at org.dozer.MappingProcessor.mapGeneral(MappingProcessor.java:170)
at org.dozer.MappingProcessor.map(MappingProcessor.java:104)
at org.dozer.MappingProcessor.map(MappingProcessor.java:99)
at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:120)

@dhanaraj
Copy link
Author

dhanaraj commented Aug 4, 2016

Its is reproducible in the latest version of dozer-5.5.1.jar

@dhanaraj
Copy link
Author

dhanaraj commented Aug 4, 2016

public interface SomeInterface {
public void setChildren(List <? extends SomeInterface>);
public List <? extends SomeInterface> getChildren();
}

public class SomeType implements SomeInterface {
private List children;
public setChildren(List <? extends SomeInterface>
...
}
}

When this "SomeType" is mapped by dozer it fails with java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.WildcardTypeImpl cannot be cast to java.lang.Class

@garethahealy
Copy link
Collaborator

@dhanaraj ; is this still an issue? if so, can you create a github repo, that includes a unit test showing this behaviour and link it here.

@garethahealy
Copy link
Collaborator

Closing due to inactivity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants