You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by de...@apache.org on 2007/03/02 05:30:39 UTC

svn commit: r513619 - in /webservices/axis2/trunk/java/modules: adb/src/org/apache/axis2/databinding/typemapping/ adb/src/org/apache/axis2/databinding/utils/ adb/src/org/apache/axis2/rpc/receivers/ java2wsdl/src/org/apache/ws/java2wsdl/ kernel/conf/ ke...

Author: deepal
Date: Thu Mar  1 20:30:39 2007
New Revision: 513619

URL: http://svn.apache.org/viewvc?view=rev&rev=513619
Log:
fixing AXIS2-1982

Modified:
    webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
    webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java
    webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java
    webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java
    webservices/axis2/trunk/java/modules/kernel/conf/axis2.xml
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml

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=513619&r1=513618&r2=513619
==============================================================================
--- 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 Thu Mar  1 20:30:39 2007
@@ -18,8 +18,14 @@
 package org.apache.axis2.databinding.typemapping;
 
 import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.OMText;
+import org.apache.axiom.om.OMDataSource;
+import org.apache.axiom.attachments.utils.DataHandlerUtils;
 
 import javax.xml.namespace.QName;
+import javax.activation.DataHandler;
+import javax.activation.DataSource;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -105,6 +111,20 @@
         return list;
     }
 
+    public static DataHandler getDataHandler(OMElement element) {
+        OMNode node =element.getFirstOMChild();
+        if (node instanceof OMText) {
+            OMText txt = (OMText) node;
+            if(txt.isOptimized()){
+                return (DataHandler) txt.getDataHandler();
+            } else {
+               return (DataHandler) DataHandlerUtils.getDataHandlerFromText(txt.getText(),null);  
+            }
+        }
+        return null;
+    }
+
+
     public static ArrayList getArrayList(OMElement element) {
         Iterator childitr = element.getChildren();
         ArrayList list = new ArrayList();
@@ -130,6 +150,9 @@
         String objClassName = obj.getName();
         return isSimpleType(objClassName);
     }
+    public static boolean isDataHandler(Class obj){
+        return "javax.activation.DataHandler".equals(obj.getName());
+    }
 
     public static boolean isCollection(Class obj) {
         return java.util.Collection.class.isAssignableFrom(obj);
@@ -310,4 +333,5 @@
             return calendar;
         }
     }
+
 }

Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java?view=diff&rev=513619&r1=513618&r2=513619
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java Thu Mar  1 20:30:39 2007
@@ -594,6 +594,8 @@
                     }
                 } else if (SimpleTypeMapper.isCollection(classType)) {
                     return SimpleTypeMapper.getArrayList(omElement);
+                }else if(SimpleTypeMapper.isDataHandler(classType)){
+                    return SimpleTypeMapper.getDataHandler(omElement);
                 } else {
                     return BeanUtil.deserialize(classType, omElement, objectSupplier, null);
                 }

Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java?view=diff&rev=513619&r1=513618&r2=513619
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java Thu Mar  1 20:30:39 2007
@@ -1,8 +1,6 @@
 package org.apache.axis2.rpc.receivers;
 
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.*;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.axiom.om.impl.llom.factory.OMXMLBuilderFactory;
 import org.apache.axiom.om.util.Base64;
@@ -231,7 +229,19 @@
                                 service.isElementFormDefault(),
                                 service.getTypeTable());
                         envelope.getBody().addChild(bodyChild);
-                    } else {
+                    } else if (SimpleTypeMapper.isDataHandler(resObject.getClass())){
+                        OMElement resElemt =  fac.createOMElement(method.getName() + "Response" ,ns);
+                        OMText text = fac.createOMText(resObject,true);
+                        OMElement returnElement;
+                        if(service.isElementFormDefault()){
+                            returnElement=   fac.createOMElement(RETURN_WRAPPER ,ns);
+                        } else {
+                            returnElement=   fac.createOMElement(RETURN_WRAPPER ,null);
+                        }
+                        returnElement.addChild(text);
+                        resElemt.addChild(returnElement);
+                        envelope.getBody().addChild(resElemt);
+                    }  else {
                         if (service.isElementFormDefault()) {
                             RPCUtil.processResponse(fac, resObject, bodyContent, ns,
                                     envelope, method, service.isElementFormDefault(),

Modified: webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java?view=diff&rev=513619&r1=513618&r2=513619
==============================================================================
--- webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java (original)
+++ webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java Thu Mar  1 20:30:39 2007
@@ -395,7 +395,9 @@
             classTypeName = "base64Binary";
             isArrayType = false;
         }
-
+        if("javax.activation.DataHandler".equals(classTypeName)){
+            classTypeName = "base64Binary";
+        }
         QName schemaTypeName = typeTable.getSimpleSchemaTypeName(classTypeName);
         if (schemaTypeName == null) {
             schemaTypeName = generateSchema(type);

Modified: webservices/axis2/trunk/java/modules/kernel/conf/axis2.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/conf/axis2.xml?view=diff&rev=513619&r1=513618&r2=513619
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/conf/axis2.xml (original)
+++ webservices/axis2/trunk/java/modules/kernel/conf/axis2.xml Thu Mar  1 20:30:39 2007
@@ -63,10 +63,6 @@
     <!--<parameter name="servicePath" locked="false">services</parameter>-->
     <!--<parameter name="restPath" locked="false">rest</parameter>-->
 
-
-    <!--Set the flag to true if you want to enable transport level session mangment-->
-    <parameter name="manageTransportSession" locked="false">false</parameter>
-
     <!-- Following parameter will completely disable REST handling in Axis2-->
     <parameter name="disableREST" locked="true">false</parameter>
 

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml?view=diff&rev=513619&r1=513618&r2=513619
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml Thu Mar  1 20:30:39 2007
@@ -33,9 +33,6 @@
     <!--<parameter name="servicePath" locked="false">services</parameter>-->
     <!--<parameter name="restPath" locked="false">rest</parameter>-->
 
-    <!--Set the flag to true if you want to enable transport level session management-->
-    <parameter name="manageTransportSession" locked="false">false</parameter>
-
     <!-- Following parameter will completely disable REST handling in Axis2-->
     <parameter name="disableREST" locked="true">false</parameter>
 



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