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 de...@apache.org on 2007/08/10 10:59:55 UTC

svn commit: r564519 - in /webservices/axis2/trunk/java/modules: adb/src/org/apache/axis2/databinding/typemapping/ kernel/src/org/apache/axis2/description/java2wsdl/

Author: deepal
Date: Fri Aug 10 01:59:55 2007
New Revision: 564519

URL: http://svn.apache.org/viewvc?view=rev&rev=564519
Log:
hmm what happen if we have a method signature with a class which extend DataHandler

Modified:
    webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java

Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java?view=diff&rev=564519&r1=564518&r2=564519
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java Fri Aug 10 01:59:55 2007
@@ -31,7 +31,6 @@
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
-import java.util.GregorianCalendar;
 import java.util.Iterator;
 import java.util.TimeZone;
 
@@ -48,7 +47,6 @@
     private static final String W_FLOAT = "java.lang.Float";
     private static final String W_CALENDAR = "java.util.Calendar";
     private static final String W_DATE = "java.util.Date";
-    private static final String W_DATA_HANDLER = "javax.activation.DataHandler";
     private static final String INT = "int";
     private static final String BOOLEAN = "boolean";
     private static final String BYTE = "byte";
@@ -201,7 +199,7 @@
     }
 
     public static boolean isDataHandler(Class obj) {
-        return "javax.activation.DataHandler".equals(obj.getName());
+       return obj.isAssignableFrom(DataHandler.class);
     }
 
     public static boolean isCollection(Class obj) {

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?view=diff&rev=564519&r1=564518&r2=564519
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java Fri Aug 10 01:59:55 2007
@@ -34,6 +34,7 @@
 import org.codehaus.jam.*;
 
 import javax.xml.namespace.QName;
+import javax.activation.DataHandler;
 import java.util.*;
 
 public class DefaultSchemaGenerator implements Java2WSDLConstants, SchemaGenerator {
@@ -581,7 +582,7 @@
         if (isArryType && "byte".equals(propertyName)) {
             propertyName = "base64Binary";
         }
-        if ("javax.activation.DataHandler".equals(propertyName)) {
+        if (isDataHandler(type)) {
             propertyName = "base64Binary";
         }
 
@@ -653,7 +654,8 @@
             classTypeName = "base64Binary";
             isArrayType = false;
         }
-        if ("javax.activation.DataHandler".equals(classTypeName)) {
+
+        if (isDataHandler(type)) {
             classTypeName = "base64Binary";
         }
         QName schemaTypeName = typeTable.getSimpleSchemaTypeName(classTypeName);
@@ -675,6 +677,23 @@
         }
 
         return schemaTypeName;
+    }
+
+    protected boolean isDataHandler(JClass clazz){
+        String classType = clazz.getQualifiedName();
+        if("java.lang.Object".equals(classType)){
+            return false;
+        }
+        if ("javax.activation.DataHandler".equals(classType)) {
+            return true;
+        } else {
+            JClass supuerClass = clazz.getSuperclass();
+            if (supuerClass != null) {
+                return isDataHandler(supuerClass);
+            } else {
+                return false;
+            }
+        }
     }
 
     protected void addContentToMethodSchemaType(XmlSchemaSequence sequence,

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java?view=diff&rev=564519&r1=564518&r2=564519
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java Fri Aug 10 01:59:55 2007
@@ -262,7 +262,7 @@
             classTypeName = "base64Binary";
             isArrayType = false;
         }
-        if ("javax.activation.DataHandler".equals(classTypeName)) {
+        if (isDataHandler(type)) {
             classTypeName = "base64Binary";
         }
         QName schemaTypeName = typeTable.getSimpleSchemaTypeName(classTypeName);



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org