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="../../[EMAIL PROTECTED]'' and @direction='in' and @opname=$opname]/@type"></xsl:variable> <xsl:variable name="inputElementShortType" select="../../[EMAIL PROTECTED]'' and @direction='in' and @opname=$opname]/@shorttype"></xsl:variable> <xsl:variable name="inputElementComplexType" select="../../[EMAIL PROTECTED]'' and @direction='in' and @opname=$opname]/@complextype"></xsl:variable> - <xsl:variable name="wrappedParameterCount" select="count(../../[EMAIL PROTECTED]'' and @direction='in' and @opname=$opname]/param)"></xsl:variable> + <!--<xsl:variable name="wrappedParameterCount" select="count(../../[EMAIL PROTECTED]'' and @direction='in' and @opname=$opname]/param)"></xsl:variable>--> + <xsl:variable name="isUnwrapParameters" select="../../[EMAIL PROTECTED]'' 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 > 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="../../[EMAIL PROTECTED]'' 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]