[ https://issues.apache.org/jira/browse/SYNCOPE-246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13718316#comment-13718316 ]
Francesco Chicchiriccò commented on SYNCOPE-246: ------------------------------------------------ [~ashakirin], this is more clear now, thanks. On trunk we don't have Spring MVC anymore (see SYNCOPE-286); however, JAXB annotations are not enough for JSON (some Jackson specific annotations are still needed), hence I wonder whether Jackson would still need list setters in TO objects. I guess that the only way out is just test what happens... > Remove collection setters in transfer objects for JAXB marshalling > ------------------------------------------------------------------ > > Key: SYNCOPE-246 > URL: https://issues.apache.org/jira/browse/SYNCOPE-246 > Project: Syncope > Issue Type: Sub-task > Components: core > Affects Versions: 1.1.0 > Environment: CXF branch > Reporter: Andrei Shakirin > Assignee: Christian Schneider > Fix For: 1.2.0 > > > XML payload will be marshaled/unmarshaled using JAXB by migration to CXF Rest > frontend. > JAXB works with collections in a little bit different way as Spring Rest > marshaling. > JAXB uses only getter for the list (assumes that list is initialized due > object creation) and adds elements into the list obtained by getter by > unmarshaling. It doesn't need setter at all. > The problem is that actual implementation of transfer objects doesn't work > with JAXB. > If TO provide setter for collection, JAXB gets the list, adds the elements > and additionally calls setter for this list. As far as setter logic cleans > the TO collection, the result collection is always empty. > Solution is remove setters for collections in TOs by migration on CXF Rest. > I find it also better from security and encapsulation aspects. > Regards, > Andrei. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira