Vassilis Virvilis created CXF-4605:
--------------------------------------

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


 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

Reply via email to