[ https://issues.apache.org/jira/browse/WW-4932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16482204#comment-16482204 ]
ASF subversion and git services commented on WW-4932: ----------------------------------------------------- Commit b37c09e4f199dbfecfc44278cdf809f7a3ac077f in struts's branch refs/heads/master from [~yasser.zamani] [ https://gitbox.apache.org/repos/asf?p=struts.git;h=b37c09e ] honor .properties file before the generic parametrics See also WW-4932 > Conversion fails when generic type is an interface > -------------------------------------------------- > > Key: WW-4932 > URL: https://issues.apache.org/jira/browse/WW-4932 > Project: Struts 2 > Issue Type: Improvement > Components: Other > Reporter: Nuno Oliveira > Assignee: Yasser Zamani > Priority: Minor > Fix For: 2.6 > > > Hi, I was asked to create this issue after exchanging some emails in the > struts mailing list. > I had the following problem: > {noformat} > Hi, > I am having problems populating an action variable Set by request using > struts type conversion if the Set has the element type defined as an > interface. > I have a UserAction-conversion.properties file with the following > configuration using the class implementation: > KeyProperty_roles=id > Element_roles=path.to.class.Roles > CreateIfNull_roles=true > And UserAction has the collection Set<RolesInterface>. Roles obviously > implements RolesInterface. > If the Set element type <RolesInterface> is deleted it works just fine. > Am I doing something wrong or is this not possible? > Thanks{noformat} > And this was the response, which fixed my problem. : > {noformat} > I reproduced it and seems it's because it tries to instantiate a new > element but the interface cannot being instantiated. Please see [1] to > know why it tries to instantiate interface instead of class. > Annotating the getRoles or setRoles method with @Element(value = > path.to.class.Roles.class) may fix this issue. (shouldn't it be > path.to.class.Role instead? it seems Roles is a list not element) > Regards. > [1] > github.com/apache/struts/blob/05829e3faadd15cfa67eb234cd1775f2b98918cb/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java#L100{noformat} > After acknowledging the issue is fixed, the fix suggestion: > {noformat} > You're welcome :) glad to hear this. However, I think it's better that > Struts honor .properties file (where element class has been defined > strictly by user) before the generic parametrics [1]. Could you please > register an issue at [2] with title "conversion fails when generic type > is an interface" then paste these emails contents in it's description. > Thanks for your report! > [1] > github.com/apache/struts/blob/05829e3faadd15cfa67eb234cd1775f2b98918cb/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java#L100 > [2] issues.apache.org/jira/projects/WW/ > {noformat} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)