You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ga...@apache.org on 2007/06/14 17:28:05 UTC
svn commit: r547278 -
/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaClassToDBCConverter.java
Author: gawor
Date: Thu Jun 14 08:28:04 2007
New Revision: 547278
URL: http://svn.apache.org/viewvc?view=rev&rev=547278
Log:
inspect SEI parent interfaces (AXIS2-2804)
Modified:
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaClassToDBCConverter.java
Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaClassToDBCConverter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaClassToDBCConverter.java?view=diff&rev=547278&r1=547277&r2=547278
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaClassToDBCConverter.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaClassToDBCConverter.java Thu Jun 14 08:28:04 2007
@@ -1,14 +1,11 @@
package org.apache.axis2.jaxws.description.builder.converter;
-import org.apache.axis2.jaxws.description.builder.BindingTypeAnnot;
-import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
-import org.apache.axis2.jaxws.description.builder.FieldDescriptionComposite;
-import org.apache.axis2.jaxws.description.builder.MethodDescriptionComposite;
-import org.apache.axis2.jaxws.description.builder.ServiceModeAnnot;
-import org.apache.axis2.jaxws.description.builder.WebFaultAnnot;
-import org.apache.axis2.jaxws.description.builder.WebServiceAnnot;
-import org.apache.axis2.jaxws.description.builder.WebServiceProviderAnnot;
-import org.apache.axis2.jaxws.description.builder.WebServiceRefAnnot;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
import javax.jws.WebService;
import javax.xml.ws.BindingType;
@@ -18,12 +15,16 @@
import javax.xml.ws.WebServiceProvider;
import javax.xml.ws.WebServiceRef;
import javax.xml.ws.WebServiceRefs;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
+
+import org.apache.axis2.jaxws.description.builder.BindingTypeAnnot;
+import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
+import org.apache.axis2.jaxws.description.builder.FieldDescriptionComposite;
+import org.apache.axis2.jaxws.description.builder.MethodDescriptionComposite;
+import org.apache.axis2.jaxws.description.builder.ServiceModeAnnot;
+import org.apache.axis2.jaxws.description.builder.WebFaultAnnot;
+import org.apache.axis2.jaxws.description.builder.WebServiceAnnot;
+import org.apache.axis2.jaxws.description.builder.WebServiceProviderAnnot;
+import org.apache.axis2.jaxws.description.builder.WebServiceRefAnnot;
public class JavaClassToDBCConverter {
@@ -52,18 +53,17 @@
HashMap<String, DescriptionBuilderComposite> dbcMap = new HashMap<String,
DescriptionBuilderComposite>();
for (int i = 0; i < classes.size(); i++) {
- serviceClass = classes.get(i);
- DescriptionBuilderComposite composite = new DescriptionBuilderComposite();
- introspectClass(composite);
- dbcMap.put(composite.getClassName(), composite);
+ buildDBC(dbcMap, classes.get(i));
if (seiClassName != null && !seiClassName.equals("")) {
- DescriptionBuilderComposite seiComposite = new DescriptionBuilderComposite();
try {
- serviceClass =
+ Class seiClass =
Thread.currentThread().getContextClassLoader().loadClass(seiClassName);
- if (serviceClass != null) {
- introspectClass(seiComposite);
- dbcMap.put(seiComposite.getClassName(), seiComposite);
+ buildDBC(dbcMap, seiClass);
+
+ // Also try to see if the SEI has any super interfaces
+ Class[] interfaces = seiClass.getInterfaces();
+ for (int j = 0; j < interfaces.length; j++) {
+ buildDBC(dbcMap, interfaces[i]);
}
}
catch (ClassNotFoundException e) {
@@ -77,6 +77,13 @@
return dbcMap;
}
+ private void buildDBC(HashMap<String, DescriptionBuilderComposite> dbcMap, Class clazz) {
+ serviceClass = clazz;
+ DescriptionBuilderComposite composite = new DescriptionBuilderComposite();
+ introspectClass(composite);
+ dbcMap.put(composite.getClassName(), composite);
+ }
+
/**
* This method will drive the introspection of the class-level information. It will store the
* gathered information in the pertinent data members of the <code>DescriptionBuilderComposite</code>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org