Your fix worked :) and I see why it did not work, thank you. Also yes, you are right, it should be Role instead of Roles but it is a legacy class and the change implies a lot of fixes. It's on the "to do list".
Once more, thank you. On Qui, 2018-04-05 at 13:13 +0000, Yasser Zamani wrote: > [copy with removed links to avoid detection as spam] > > > -------- Forwarded Message -------- > Subject: Re: Type conversion collection with interface type elements > Date: Thu, 5 Apr 2018 13:02:01 +0000 > From: Yasser Zamani <yasserzam...@apache.org> > Reply-To: Struts Users Mailing List <user@struts.apache.org> > To: user@struts.apache.org <user@struts.apache.org> > > > > On 4/4/2018 7:20 PM, Nuno Oliveira wrote: > > 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? > > 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 > > > > > Thanks > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org