You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bl...@apache.org on 2010/03/22 18:45:15 UTC

svn commit: r926220 - /cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java

Author: bluk
Date: Mon Mar 22 17:45:14 2010
New Revision: 926220

URL: http://svn.apache.org/viewvc?rev=926220&view=rev
Log:
Update GenericEntity to check other possible types

Modified:
    cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java

Modified: cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java?rev=926220&r1=926219&r2=926220&view=diff
==============================================================================
--- cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java (original)
+++ cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/GenericEntity.java Mon Mar 22 17:45:14 2010
@@ -19,6 +19,7 @@
 
 package javax.ws.rs.core;
 
+import java.lang.reflect.GenericArrayType;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 
@@ -57,6 +58,15 @@ public class GenericEntity<T> {
             if (!((Class<?>)genericType).isAssignableFrom(rawType)) {
                 throw new IllegalArgumentException();
             }
+        } else if (genericType instanceof ParameterizedType) {
+            checkCompatibility(rawType, ((ParameterizedType)genericType).getRawType());
+        } else if (genericType instanceof GenericArrayType) {
+            if (!rawType.isArray()) {
+                throw new IllegalArgumentException();
+            }
+            // check the array parameter
+            checkCompatibility(rawType.getComponentType(), ((GenericArrayType)genericType)
+                .getGenericComponentType());
         }
     }