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 di...@apache.org on 2006/09/01 21:52:39 UTC
svn commit: r439444 -
/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
Author: dims
Date: Fri Sep 1 12:52:38 2006
New Revision: 439444
URL: http://svn.apache.org/viewvc?rev=439444&view=rev
Log:
Fix for AXIS2-1054 - WSDL2Java: Correct support for optional and any attributes
Modified:
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl?rev=439444&r1=439443&r2=439444&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl Fri Sep 1 12:52:38 2006
@@ -268,7 +268,7 @@
</xsl:otherwise>
</xsl:choose>
- } catch (Exception e) {
+ } catch (java.lang.Exception e) {
throw new java.lang.IllegalArgumentException();
}
}
@@ -543,17 +543,27 @@
<xsl:value-of select="$varName"/>.getAttributeValue(),
xmlWriter);
</xsl:when>
- <xsl:when test="@any and @array">
+ <xsl:when test="@any and @array">
if (<xsl:value-of select="$varName"/> != null) {
- for (int i=0;i <<xsl:value-of select="$varName"/>.length;i++){
- writeAttribute(<xsl:value-of select="$varName"/>[i].getNamespace().getName(),
- <xsl:value-of select="$varName"/>[i].getLocalName(),
- <xsl:value-of select="$varName"/>[i].getAttributeValue(),
- xmlWriter);
- }
+ for (int i=0;i <<xsl:value-of select="$varName"/>.length;i++){
+ writeAttribute(<xsl:value-of select="$varName"/>[i].getNamespace().getName(),
+ <xsl:value-of select="$varName"/>[i].getLocalName(),
+ <xsl:value-of select="$varName"/>[i].getAttributeValue(),xmlWriter);
+ }
}
- </xsl:when>
+ </xsl:when>
<!-- there can never be attribute arrays in the normal case-->
+ <xsl:when test="@optional">
+ // optional attribute <xsl:value-of select="$propertyName"/>
+ try {
+ writeAttribute("<xsl:value-of select="$namespace"/>",
+ "<xsl:value-of select="$propertyName"/>",
+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>), xmlWriter);
+ } catch (NullPointerException e) {
+ // If <xsl:value-of select="$varName"/> was null
+ // it can not be serialized.
+ }
+ </xsl:when>
<xsl:otherwise>
writeAttribute("<xsl:value-of select="$namespace"/>",
"<xsl:value-of select="$propertyName"/>",
@@ -1858,28 +1868,33 @@
<xsl:variable name="varName">typedBean.local<xsl:value-of select="@javaname"/></xsl:variable>
<xsl:variable name="namespace"><xsl:value-of select="@nsuri"/></xsl:variable>
<xsl:choose>
- <!-- Note - It is assumed that any attributes are OMAttributes-->
+ <!-- Note - It is assumed that any attributes are OMAttributes-->
<xsl:when test="@any and not(@array)">
writeAttribute(<xsl:value-of select="$varName"/>.getNamespace().getName(),
<xsl:value-of select="$varName"/>.getLocalName(),
<xsl:value-of select="$varName"/>.getAttributeValue(),xmlWriter);
</xsl:when>
- <xsl:when test="@any and @array">
- for (int i=0;i <<xsl:value-of select="$varName"/>.length;i++){
- writeAttribute(<xsl:value-of select="$varName"/>[i].getNamespace().getName(),
- <xsl:value-of select="$varName"/>[i].getLocalName(),
- <xsl:value-of select="$varName"/>[i].getAttributeValue(),xmlWriter);
- }
- </xsl:when>
+ <xsl:when test="@any and @array">
+ if (<xsl:value-of select="$varName"/> != null) {
+ for (int i=0;i <<xsl:value-of select="$varName"/>.length;i++){
+ writeAttribute(<xsl:value-of select="$varName"/>[i].getNamespace().getName(),
+ <xsl:value-of select="$varName"/>[i].getLocalName(),
+ <xsl:value-of select="$varName"/>[i].getAttributeValue(),xmlWriter);
+ }
+ }
+ </xsl:when>
<!-- there can never be attribute arrays in the normal case-->
- <xsl:when test="@optional">
+ <xsl:when test="@optional">
// optional attribute <xsl:value-of select="$propertyName"/>
- if (<xsl:value-of select="$varName"/> != null) {
+ try {
writeAttribute("<xsl:value-of select="$namespace"/>",
"<xsl:value-of select="$propertyName"/>",
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>), xmlWriter);
+ } catch (NullPointerException e) {
+ // If <xsl:value-of select="$varName"/> was null
+ // it can not be serialized.
}
- </xsl:when>
+ </xsl:when>
<xsl:otherwise>
writeAttribute("<xsl:value-of select="$namespace"/>",
"<xsl:value-of select="$propertyName"/>",
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org