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 aj...@apache.org on 2006/03/07 07:42:37 UTC

svn commit: r383801 - in /webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java: DatabindingTemplate.xsl InterfaceImplementationTemplate.xsl SkeletonTemplate.xsl

Author: ajith
Date: Mon Mar  6 22:42:36 2006
New Revision: 383801

URL: http://svn.apache.org/viewcvs?rev=383801&view=rev
Log:
1. Fixed a codegen bug that led to wrong code generattion for empty messages
2. Fixed the JIRA for throwing unsupported exceptions in unimplemented skeletons.

Modified:
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/DatabindingTemplate.xsl
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/SkeletonTemplate.xsl

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/DatabindingTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/DatabindingTemplate.xsl?rev=383801&r1=383800&r2=383801&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/DatabindingTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/DatabindingTemplate.xsl Mon Mar  6 22:42:36 2006
@@ -21,6 +21,7 @@
                 (org.apache.ws.commons.om.OMAbstractFactory.getOMFactory(),new org.apache.axis2.util.StreamWrapper(param.newXMLStreamReader())) ;
 
                 org.apache.ws.commons.om.OMElement documentElement = builder.getDocumentElement();
+
                 <xsl:if test="$base64">
                          optimizeContent(documentElement,qNameArray);
                 </xsl:if>
@@ -31,15 +32,25 @@
 
                 private org.apache.ws.commons.soap.SOAPEnvelope toEnvelope(org.apache.ws.commons.soap.SOAPFactory factory, <xsl:value-of select="@type"/> param){
                     org.apache.ws.commons.soap.SOAPEnvelope envelope = factory.getDefaultEnvelope();
-                    envelope.getBody().addChild(toOM(param));
+                    if (param != null){
+                        envelope.getBody().addChild(toOM(param));
+                    }
                     return envelope;
                 }
             </xsl:if>
 
         </xsl:for-each>
 
-        public org.apache.xmlbeans.XmlObject fromOM(org.apache.ws.commons.om.OMElement param,
-        java.lang.Class type){
+        /**
+         *  get the default envelope
+         */
+        private org.apache.ws.commons.soap.SOAPEnvelope toEnvelope(org.apache.ws.commons.soap.SOAPFactory factory){
+            return factory.getDefaultEnvelope();
+        }
+
+        public org.apache.xmlbeans.XmlObject fromOM(
+            org.apache.ws.commons.om.OMElement param,
+            java.lang.Class type){
         try{
         <xsl:for-each select="param">
             <xsl:if test="@type!=''">
@@ -107,7 +118,9 @@
         private org.apache.ws.commons.soap.SOAPEnvelope toEnvelope(
             org.apache.ws.commons.soap.SOAPFactory factory, Object param) {
             org.apache.ws.commons.soap.SOAPEnvelope envelope = factory.getDefaultEnvelope();
-            envelope.getBody().addChild(toOM(param));
+            if (param != null){
+                envelope.getBody().addChild(toOM(param));
+            }
 
             return envelope;
         }
@@ -193,6 +206,14 @@
                 </xsl:if>
             </xsl:for-each>
 
+           /**
+           *  get the default envelope
+           */
+           private org.apache.ws.commons.soap.SOAPEnvelope toEnvelope(org.apache.ws.commons.soap.SOAPFactory factory){
+                return factory.getDefaultEnvelope();
+           }
+
+
             private  java.lang.Object fromOM(org.apache.ws.commons.om.OMElement param,
             java.lang.Class type){
 
@@ -228,6 +249,14 @@
                 envelope.getBody().addChild(param);
                 return envelope;
            }
+
+           /**
+           *  get the default envelope
+           */
+           private org.apache.ws.commons.soap.SOAPEnvelope toEnvelope(org.apache.ws.commons.soap.SOAPFactory factory){
+                return factory.getDefaultEnvelope();
+           }
+
        </xsl:template>
 
      </xsl:stylesheet>

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl?rev=383801&r1=383800&r2=383801&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl Mon Mar  6 22:42:36 2006
@@ -212,8 +212,17 @@
                                 </xsl:when>
                                 <xsl:when test="$style='doc'">
                                     //Style is Doc.
+                                    <!-- Let's assume there is only one parameters here -->
                                     <xsl:for-each select="input/param[@location='body']">
-                                        env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), <xsl:value-of select="@name"/>);
+                                        <xsl:choose>
+                                            <xsl:when test="@type!=''">
+                                                 env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), <xsl:value-of select="@name"/>);
+                                            </xsl:when>
+                                            <xsl:otherwise>
+                                                 env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()));
+                                            </xsl:otherwise>
+                                        </xsl:choose>
+
                                     </xsl:for-each>
                                     <xsl:for-each select="input/param[@location='header']">
                                         // add the children only if the parameter is not null
@@ -319,7 +328,14 @@
                                 <xsl:when test="$style='doc'">
                                     //Style is Doc.
                                     <xsl:for-each select="input/param[@location='body']">
-                                        env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), <xsl:value-of select="@name"/>);
+                                        <xsl:choose>
+                                            <xsl:when test="@type!=''">
+                                                 env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), <xsl:value-of select="@name"/>);
+                                            </xsl:when>
+                                            <xsl:otherwise>
+                                                 env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()));
+                                            </xsl:otherwise>
+                                        </xsl:choose>
                                     </xsl:for-each>
                                     <xsl:for-each select="input/param[@location='header']">
                                          // add the headers only if they are not null

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/SkeletonTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/SkeletonTemplate.xsl?rev=383801&r1=383800&r2=383801&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/SkeletonTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/SkeletonTemplate.xsl Mon Mar  6 22:42:36 2006
@@ -28,7 +28,7 @@
             <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@type"/><xsl:text> </xsl:text><xsl:value-of select="@name"/></xsl:if>
                    </xsl:for-each> ) throws Exception {
                 //Todo fill this with the necessary business logic
-                <xsl:if test="$outputtype!=''">return null;</xsl:if>
+                <xsl:if test="$outputtype!=''">throw new  java.lang.UnsupportedOperationException();</xsl:if>
         }
      </xsl:for-each>
     }