cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-4605) SortedMap is not returned when another unrelated method exists in the interface
Date Mon, 05 Nov 2012 16:10:14 GMT

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

Daniel Kulp commented on CXF-4605:
----------------------------------


If using Aegis on both sides, it really won't matter as Aegis doesn't actually use the schema.
  The issue is if you have a client that has taken the WSDL and generated JAXWS/JAXB code
based on the WSDL.  With the new code, a separate type is generated for the sorted maps compared
to the non-sorted (and a couple others).   HOWEVER, this is likely not an issue as the schema
for the old case was actually invalid.   It was generating two "int2intMap" types into the
schema.  Two types, same name.   Not valid.  It would now have an int2intMap (for the non-sorted
case) and an int2intSortedMap to differentiate them.

                
> SortedMap is not returned when another unrelated method exists in the interface
> -------------------------------------------------------------------------------
>
>                 Key: CXF-4605
>                 URL: https://issues.apache.org/jira/browse/CXF-4605
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.7.0
>         Environment: Debian unstable / tomcat7 / opennjdk7
>            Reporter: Vassilis Virvilis
>            Assignee: Daniel Kulp
>             Fix For: 2.7.1
>
>         Attachments: ws-test-issue-4605.tgz
>
>
>  During testing of bug 4534 I stumbled upon the following behavior. Subsets of tests
were passing when run standalone but failing when run in the full test suite.
> So I have narrowed it down to one method that fails when another is uncommented in the
interface.
> Interface:
>     // uncomment this for the next method to fail
>     // public Map<String, Map<Integer, Integer>> testDirectComplexMapResult();
>     // fail -- puts data into a hashmap instead of a SortedMap if the above is uncommented
>     public Map<String, SortedMap<Integer, Integer>> testDirectComplexTreeMapResult();
> Implementation:
>     //@Override
>     public Map<String, Map<Integer, Integer>> testDirectComplexMapResult()
{
>         final Map<String, Map<Integer, Integer>> result = new HashMap<String,
Map<Integer, Integer>>();
>         final TreeMap<Integer, Integer> map1 = new TreeMap<Integer, Integer>();
>         map1.put(1, 3);
>         result.put("key1", map1);
>         return result;
>     }
>     @Override
>     public Map<String, SortedMap<Integer, Integer>> testDirectComplexTreeMapResult()
{
>         final Map<String, SortedMap<Integer, Integer>> result = new HashMap<String,
SortedMap<Integer, Integer>>();
>         final TreeMap<Integer, Integer> map1 = new TreeMap<Integer, Integer>();
>         map1.put(1, 3);
>         map1.put(0, 2);
>         result.put("key1", map1);
>         return result;
>     }
> Client:
>     @Test
>     public void testDirectComplexTreeMapResult() {
>         final Map map = TestServiceFactory.getService()
>                 .testDirectComplexTreeMapResult();
>         log.info(map);
>         for (final Object vmap : map.values()) {
>             Assert.assertTrue(vmap instanceof SortedMap);
>         }
>     }

--
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

Mime
View raw message