You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by "Christian Schneider (JIRA)" <ji...@apache.org> on 2013/01/23 12:20:14 UTC

[jira] [Comment Edited] (SYNCOPE-246) Remove collection setters in transfer objects for JAXB marshalling

    [ https://issues.apache.org/jira/browse/SYNCOPE-246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13560574#comment-13560574 ] 

Christian Schneider edited comment on SYNCOPE-246 at 1/23/13 11:20 AM:
-----------------------------------------------------------------------

I just created a new issue for 1.1.0 and linked it. The reason why I moved this issue is that we will not be able to remove the setters for 1.1.0 as we want to be compatible with spring services.
                
      was (Author: chris@die-schneider.net):
    I just created a new issue for 1.1.0 and linked it. 
                  
> 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.1.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