You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/07/24 22:59:07 UTC

svn commit: r797651 - /cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsImplementorInfo.java

Author: dkulp
Date: Fri Jul 24 20:59:07 2009
New Revision: 797651

URL: http://svn.apache.org/viewvc?rev=797651&view=rev
Log:
Check parents for the Provider interface as well

Modified:
    cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsImplementorInfo.java

Modified: cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsImplementorInfo.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsImplementorInfo.java?rev=797651&r1=797650&r2=797651&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsImplementorInfo.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsImplementorInfo.java Fri Jul 24 20:59:07 2009
@@ -309,13 +309,17 @@
 
     public Class<?> getProviderParameterType() {
         // The Provider Implementor inherits out of Provider<T>
-        Type intfTypes[] = implementorClass.getGenericInterfaces();
-        for (Type t : intfTypes) {
-            Class<?> clazz = JAXBEncoderDecoder.getClassFromType(t);
-            if (Provider.class == clazz) {
-                Type paramTypes[] = ((ParameterizedType)t).getActualTypeArguments();
-                return JAXBEncoderDecoder.getClassFromType(paramTypes[0]);
+        Class<?> c = implementorClass;
+        while (c != null) {
+            Type intfTypes[] = c.getGenericInterfaces();
+            for (Type t : intfTypes) {
+                Class<?> clazz = JAXBEncoderDecoder.getClassFromType(t);
+                if (Provider.class == clazz) {
+                    Type paramTypes[] = ((ParameterizedType)t).getActualTypeArguments();
+                    return JAXBEncoderDecoder.getClassFromType(paramTypes[0]);
+                }
             }
+            c = c.getSuperclass();
         }
         return null;
     }