You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2011/11/14 13:22:28 UTC

svn commit: r1201680 - in /cxf/trunk/rt/frontend/jaxrs/src: main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java

Author: sergeyb
Date: Mon Nov 14 12:22:27 2011
New Revision: 1201680

URL: http://svn.apache.org/viewvc?rev=1201680&view=rev
Log:
[CXF-3900] Checking Sets when reading the beans

Modified:
    cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
    cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java

Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java?rev=1201680&r1=1201679&r2=1201680&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java Mon Nov 14 12:22:27 2011
@@ -1014,10 +1014,11 @@ public final class InjectionUtils {
                 if (isPrimitive(value.getClass())) {
                     values.putSingle(propertyName, value);
                 } else if (isSupportedCollectionOrArray(value.getClass())) {
-                    // ignoring arrrays for a moment
                     List<Object> theValues = null;
                     if (value.getClass().isArray()) {
                         theValues = Arrays.asList(value);
+                    } else if (value instanceof Set) {
+                        theValues = new ArrayList<Object>((Set<?>)value);
                     } else {
                         theValues = CastUtils.cast((List<?>)value);
                     }

Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java?rev=1201680&r1=1201679&r2=1201680&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java Mon Nov 14 12:22:27 2011
@@ -73,10 +73,16 @@ public class InjectionUtilsTest extends 
         values.add("lv11");
         values.add("lv22");
         bean2.setC(values);
+        Set<String> set = new HashSet<String>();
+        set.add("set1");
+        set.add("set2");
+        bean2.setS(set);
+        
         bean1.setD(bean2);
         
+        
         MultivaluedMap<String, Object> map = InjectionUtils.extractValuesFromBean(bean1, "");
-        assertEquals("Size is wrong", 6, map.size());
+        assertEquals("Size is wrong", 7, map.size());
         assertEquals(1, map.get("a").size());
         assertEquals("aValue", map.getFirst("a"));
         assertEquals(1, map.get("b").size());
@@ -93,6 +99,10 @@ public class InjectionUtilsTest extends 
         assertEquals("lv11", map.get("d.c").get(0));
         assertEquals("lv22", map.get("d.c").get(1));
         
+        assertEquals(2, map.get("d.s").size());
+        assertEquals("set1", map.get("d.s").get(0));
+        assertEquals("set2", map.get("d.s").get(1));
+        
     }
 
     static class CustomerBean1 {
@@ -140,6 +150,8 @@ public class InjectionUtilsTest extends 
         private String a;
         private Long b;
         private List<String> c;
+        private Set<String> s;
+        
         public void setA(String aString) {
             this.a = aString;
         }
@@ -159,7 +171,13 @@ public class InjectionUtilsTest extends 
             return c;
         }
         
+        public void setS(Set<String> set) {
+            this.s = set;
+        }
         
+        public Set<String> getS() {
+            return this.s;
+        }
     }
     
 }