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 2007/07/05 09:25:27 UTC

svn commit: r553405 - in /webservices/axis2/trunk/java/modules/adb-codegen: src/org/apache/axis2/schema/SchemaCompiler.java src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl test-resources/testsuite/base64binary.xsd

Author: amilas
Date: Thu Jul  5 00:25:27 2007
New Revision: 553405

URL: http://svn.apache.org/viewvc?view=rev&rev=553405
Log:
added mtom support to top elements

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.xsl
    webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/base64binary.xsd

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?view=diff&rev=553405&r1=553404&r2=553405
==============================================================================
--- 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 Thu Jul  5 00:25:27 2007
@@ -404,7 +404,6 @@
 
         XmlSchemaType schemaType = xsElt.getSchemaType();
 
-
         BeanWriterMetaInfoHolder metainf = new BeanWriterMetaInfoHolder();
         if (schemaType != null && schemaType.getName() != null) {
             //this is a named type
@@ -422,7 +421,10 @@
                         qName,
                         className);
             }
-
+            if (isBinary(xsElt)) {
+                metainf.addtStatus(xsElt.getQName(),
+                            SchemaConstants.BINARY_TYPE);
+            }
 
         } else if (xsElt.getRefName() != null) {
             // Since top level elements would not have references
@@ -599,6 +601,7 @@
                     }
                 }
             } else {
+                // set the binary status of this element
                 this.processedElementList.add(xsElt.getQName());
             }
             //referenced name

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?view=diff&rev=553405&r1=553404&r2=553405
==============================================================================
--- 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 Thu Jul  5 00:25:27 2007
@@ -1471,7 +1471,7 @@
                         </xsl:when>
                         <!-- handle all other cases -->
                          <xsl:otherwise>
-                                <xsl:if test="not($simple)">
+                             <xsl:if test="not($simple)">
                                     namespace = "<xsl:value-of select="$namespace"/>";
                                     if (! namespace.equals("")) {
                                         prefix = xmlWriter.getPrefix(namespace);
@@ -1494,14 +1494,12 @@
                              <xsl:choose>
                                  <!-- handle the binary case -->
                                  <xsl:when test="@binary">
-
                                         <!-- Handling the null byte array -->
                                     if (<xsl:value-of select="$varName"/>!=null)
                                     {
                                         org.apache.axiom.om.impl.llom.OMTextImpl <xsl:value-of select="$varName"/>_binary = new  org.apache.axiom.om.impl.llom.OMTextImpl( <xsl:value-of select="$varName"/>, org.apache.axiom.om.OMAbstractFactory.getOMFactory());
                                         <xsl:value-of select="$varName"/>_binary.internalSerializeAndConsume(xmlWriter);
                                     }
-
                                  </xsl:when>
                                  <xsl:otherwise>
                                     <xsl:if test="not(@primitive)">
@@ -1687,6 +1685,14 @@
                                             <xsl:when test="$propertyType='java.lang.String'">
                                                        xmlWriter.writeCharacters(<xsl:value-of select="$varName"/>);
                                             </xsl:when>
+                                            <xsl:when test="property/@binary">
+                                                    <!-- Handling the null byte array -->
+                                                if (<xsl:value-of select="$varName"/>!=null)
+                                                {
+                                                    org.apache.axiom.om.impl.llom.OMTextImpl <xsl:value-of select="$varName"/>_binary = new  org.apache.axiom.om.impl.llom.OMTextImpl( <xsl:value-of select="$varName"/>, org.apache.axiom.om.OMAbstractFactory.getOMFactory());
+                                                    <xsl:value-of select="$varName"/>_binary.internalSerializeAndConsume(xmlWriter);
+                                                }
+                                             </xsl:when>
                                             <xsl:otherwise>
                                                        xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
                                             </xsl:otherwise>

Modified: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/base64binary.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/base64binary.xsd?view=diff&rev=553405&r1=553404&r2=553405
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/base64binary.xsd (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/base64binary.xsd Thu Jul  5 00:25:27 2007
@@ -43,5 +43,6 @@
         </xs:complexType>
         <xs:element name="TestBase64Binary" type="xmime:base64Binary"></xs:element>
         <xs:element name="TestHexBinary" type="xmime:hexBinary"></xs:element>
+        <xs:element name="ByteArray" nillable="true" type="xs:base64Binary"/>
 
 </xs:schema>



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