[ 
https://issues.apache.org/jira/browse/CXF-1906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12648182#action_12648182
 ] 

Marcus Christie commented on CXF-1906:
--------------------------------------

Benson,

Thanks for getting on this and resolving it so quickly.  One question, will 
this bug fix make it into 2.1.4?  Thanks.

> Unmarshalling Set to TreeSet instead of HashSet
> -----------------------------------------------
>
>                 Key: CXF-1906
>                 URL: https://issues.apache.org/jira/browse/CXF-1906
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1.3
>            Reporter: Marcus Christie
>            Assignee: Benson Margulies
>            Priority: Critical
>             Fix For: 2.2
>
>         Attachments: CXF-1906_patch.txt, CXF-1906_patch.txt
>
>
> When using the Aegis databinding, if you are deserializing to a class that 
> has a Set in it, Aegis is currently instantiating the set as a SortedSet.  
> This fails for cases where the objects being added to the set do not 
> implement Comparable, and is undesired in any case.
> The error occurs in CollectionType.java:
> {code:java}
>     protected Collection<Object> createCollection() {
>         Collection values = null;
>         if (getTypeClass().isAssignableFrom(List.class)) {
>             values = new ArrayList();
>         } else if (getTypeClass().isAssignableFrom(SortedSet.class)) {
>             values = new TreeSet();
>         } else if (getTypeClass().isAssignableFrom(Set.class)) {
>             values = new HashSet();
>         } else if (getTypeClass().isAssignableFrom(Vector.class)) {
>             values = new Vector();
>         } else if (getTypeClass().isInterface()) {
>             values = new ArrayList();
>         } else {
> ....
> {code}
> If the typeClass is Set, then the second "if" clause evaluates to true since 
> Set is a superclass/superinterface of SortedSet.
> I've got a patch I'll submit and I'll explain the fix.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to