You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bi...@apache.org on 2008/05/18 04:14:34 UTC

svn commit: r657490 - in /cxf/trunk/rt/databinding/aegis/src: main/java/org/apache/cxf/aegis/type/java5/ test/java/org/apache/cxf/aegis/type/java5/map/

Author: bimargulies
Date: Sat May 17 19:14:34 2008
New Revision: 657490

URL: http://svn.apache.org/viewvc?rev=657490&view=rev
Log:
Fix CXF-1587

Modified:
    cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/Java5TypeCreator.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentService.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceImpl.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentTest.java

Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/Java5TypeCreator.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/Java5TypeCreator.java?rev=657490&r1=657489&r2=657490&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/Java5TypeCreator.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/Java5TypeCreator.java Sat May 17 19:14:34 2008
@@ -180,9 +180,10 @@
                 paramClass = (Class)type.getActualTypeArguments()[index];
             } else if (type.getActualTypeArguments()[index] instanceof WildcardType) {
                 WildcardType wildcardType = (WildcardType)type.getActualTypeArguments()[index];
-
-                if (wildcardType.getUpperBounds()[index] instanceof Class) {
-                    paramClass = (Class)wildcardType.getUpperBounds()[index];
+                // we really aren't prepared to deal with multiple upper bounds,
+                // so we just look at the first one.
+                if (wildcardType.getUpperBounds()[0] instanceof Class) {
+                    paramClass = (Class)wildcardType.getUpperBounds()[0];
                 }
             } else if (type.getActualTypeArguments()[index] instanceof ParameterizedType) {
                 ParameterizedType ptype = (ParameterizedType)type.getActualTypeArguments()[index];

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentService.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentService.java?rev=657490&r1=657489&r2=657490&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentService.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentService.java Sat May 17 19:14:34 2008
@@ -32,6 +32,8 @@
     Student findStudent(Long id);
 
     Map<Long, Student> getStudentsMap();
+    
+    Map<String, ?> getWildcardMap();
 
     List<Student> getStudents(Map<String, String> filters);
 

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceImpl.java?rev=657490&r1=657489&r2=657490&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceImpl.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentServiceImpl.java Sat May 17 19:14:34 2008
@@ -63,4 +63,10 @@
         return studentMap;
     }
 
+    public Map<String, ?> getWildcardMap() {
+        Map<String, String> m = new HashMap<String, String>();
+        m.put("keystring", "valuestring");
+        return m;
+    }
+
 }

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentTest.java?rev=657490&r1=657489&r2=657490&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentTest.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/map/StudentTest.java Sat May 17 19:14:34 2008
@@ -69,6 +69,8 @@
         assertNotNull(one);
         assertEquals("Student1", one.getName());
         
+        Map<String, ?> wildMap = clientInterface.getWildcardMap();
+        assertEquals("valuestring", wildMap.get("keystring"));
     }
 
     @Test