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