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 am...@apache.org on 2009/10/07 15:49:44 UTC
svn commit: r822738 - in
/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema:
SchemaCompiler.java template/ADBBeanTemplate-bean.xsl
Author: amilas
Date: Wed Oct 7 13:49:43 2009
New Revision: 822738
URL: http://svn.apache.org/viewvc?rev=822738&view=rev
Log:
handle nillable for base64binary i.e. for datahandler objects
Modified:
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java?rev=822738&r1=822737&r2=822738&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java Wed Oct 7 13:49:43 2009
@@ -577,6 +577,7 @@
SchemaCompilerMessages.getMessage("schema.elementNull"));
}
+
//The processing element logic seems to be quite simple. Look at the relevant schema type
//for each and every element and process that accordingly.
//this means that any unused type definitions would not be generated!
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl?rev=822738&r1=822737&r2=822738&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl Wed Oct 7 13:49:43 2009
@@ -1218,13 +1218,16 @@
<!-- handle the binary case -->
<xsl:when test="@binary">
<!-- Handling the null byte array -->
- if (<xsl:value-of select="$varName"/>!=null)
- {
+ if (<xsl:value-of select="$varName"/>!=null) {
try {
org.apache.axiom.util.stax.XMLStreamWriterUtils.writeDataHandler(xmlWriter, <xsl:value-of select="$varName"/>, null, true);
} catch (java.io.IOException ex) {
throw new javax.xml.stream.XMLStreamException("Unable to read data handler for <xsl:value-of select="$propertyName"/>", ex);
}
+ } else {
+ <xsl:if test="@nillable">
+ writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
+ </xsl:if>
}
</xsl:when>
<xsl:otherwise>
@@ -2990,7 +2993,18 @@
<!-- end of OMelement handling -->
<!-- start of the simple types handling for binary content-->
<xsl:when test="@binary">
- object.set<xsl:value-of select="$javaName"/>(org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader));
+
+ <xsl:if test="@nillable">
+ nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
+ if ("true".equals(nillableValue) || "1".equals(nillableValue)){
+ object.set<xsl:value-of select="$javaName"/>(null);
+ reader.next();
+ } else {
+ </xsl:if>
+ object.set<xsl:value-of select="$javaName"/>(org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader));
+ <xsl:if test="@nillable">
+ }
+ </xsl:if>
<xsl:if test="($isType or $anon) and not($simple)"> <!-- This is a subelement property to be consumed -->
reader.next();