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;
}