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 am...@apache.org on 2008/01/07 15:20:45 UTC

svn commit: r609613 - /webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl

Author: amilas
Date: Mon Jan  7 06:20:44 2008
New Revision: 609613

URL: http://svn.apache.org/viewvc?rev=609613&view=rev
Log:
use unwrapped parameter to generate the toEnvelope method. this parameter was added to
support empty complex type unwrapping.

Modified:
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl?rev=609613&r1=609612&r2=609613&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl Mon Jan  7 06:20:44 2008
@@ -78,12 +78,13 @@
                         <xsl:variable name="inputElementType" select="../../param[@type!='' and @direction='in' and @opname=$opname]/@type"></xsl:variable>
                         <xsl:variable name="inputElementShortType" select="../../param[@type!='' and @direction='in' and @opname=$opname]/@shorttype"></xsl:variable>
                         <xsl:variable name="inputElementComplexType" select="../../param[@type!='' and @direction='in' and @opname=$opname]/@complextype"></xsl:variable>
-                        <xsl:variable name="wrappedParameterCount" select="count(../../param[@type!='' and @direction='in' and @opname=$opname]/param)"></xsl:variable>
+                        <!--<xsl:variable name="wrappedParameterCount" select="count(../../param[@type!='' and @direction='in' and @opname=$opname]/param)"></xsl:variable>-->
+                        <xsl:variable name="isUnwrapParameters" select="../../param[@type!='' and @direction='in' and @opname=$opname]/@unwrappParameters"/>
                         <xsl:if test="generate-id($inputElement) = generate-id(key('paramsIn', $inputElementType)[1])">
 
                          <!-- if the unwrapping mode is on then we have to generate the unwrapped methods -->
                          <xsl:choose>
-                                <xsl:when test="$wrappedParameterCount &gt; 0">
+                                <xsl:when test="$isUnwrapParameters">
                                     <!-- geneate the toEnvelope method-->
                                 private  org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory,
                                     <xsl:for-each select="../../param[@type!='' and @direction='in' and @opname=$opname]/param">
@@ -131,43 +132,43 @@
 
 
                                 </xsl:when>
+                                <xsl:otherwise>
+                                    <!-- Assumption - the parameter is always an ADB element-->
+                                        private  org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, <xsl:value-of select="$inputElementType"/> param, boolean optimizeContent)
+                                        throws org.apache.axis2.AxisFault{
+
+                                             <xsl:choose>
+                                                <xsl:when test="$helpermode">
+                                                    try{
+                                                        org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+                                                        emptyEnvelope.getBody().addChild(<xsl:value-of select="$inputElementType"/>Helper.getOMElement(
+                                                        param,
+                                                        <xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
+                                                        return emptyEnvelope;
+                                                        } catch(org.apache.axis2.databinding.ADBException e){
+                                                            throw org.apache.axis2.AxisFault.makeFault(e);
+                                                        }
+                                                </xsl:when>
+                                                <xsl:when test="$inputElementType = 'org.apache.axiom.om.OMElement'">
+                                                    org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+                                                    emptyEnvelope.getBody().addChild(param);
+                                                    return emptyEnvelope;
+                                                 </xsl:when>
+                                                <xsl:otherwise>
+                                                    try{
+
+                                                            org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+                                                            emptyEnvelope.getBody().addChild(param.getOMElement(<xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
+                                                            return emptyEnvelope;
+                                                        } catch(org.apache.axis2.databinding.ADBException e){
+                                                            throw org.apache.axis2.AxisFault.makeFault(e);
+                                                        }
+                                                </xsl:otherwise>
+                                        </xsl:choose>
 
+                                        }
+                                </xsl:otherwise>
                          </xsl:choose>
-                            <!-- Assumption - the parameter is always an ADB element-->
-                            private  org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, <xsl:value-of select="$inputElementType"/> param, boolean optimizeContent)
-                            throws org.apache.axis2.AxisFault{
-
-                                 <xsl:choose>
-                                    <xsl:when test="$helpermode">
-                                        try{
-                                            org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
-                                            emptyEnvelope.getBody().addChild(<xsl:value-of select="$inputElementType"/>Helper.getOMElement(
-                                            param,
-                                            <xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
-                                            return emptyEnvelope;
-                                            } catch(org.apache.axis2.databinding.ADBException e){
-                                                throw org.apache.axis2.AxisFault.makeFault(e);
-                                            }
-                                    </xsl:when>
-                                    <xsl:when test="$inputElementType = 'org.apache.axiom.om.OMElement'">
-                                        org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
-                                        emptyEnvelope.getBody().addChild(param);
-                                        return emptyEnvelope;
-                                     </xsl:when>
-                                    <xsl:otherwise>
-                                        try{
-
-                                                org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
-                                                emptyEnvelope.getBody().addChild(param.getOMElement(<xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
-                                                return emptyEnvelope;
-                                            } catch(org.apache.axis2.databinding.ADBException e){
-                                                throw org.apache.axis2.AxisFault.makeFault(e);
-                                            }
-                                    </xsl:otherwise>
-                            </xsl:choose>
-
-                            }
-
                              <!-- to support for backword compatiblity we have to add and wrapp method-->
                              /* methods to provide back word compatibility */
 



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