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 de...@apache.org on 2006/09/21 06:35:39 UTC

svn commit: r448458 - in /webservices/axis2/trunk/java/modules: adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java

Author: deepal
Date: Wed Sep 20 21:35:38 2006
New Revision: 448458

URL: http://svn.apache.org/viewvc?view=rev&rev=448458
Log:
- fixing nil handling (need to test some more)
- fixing QName serialization problem in ADB

Modified:
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
    webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java

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=448458&r1=448457&r2=448458
==============================================================================
--- 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 Wed Sep 20 21:35:38 2006
@@ -581,6 +581,9 @@
                     <xsl:variable name="namespace"><xsl:value-of select="@nsuri"/></xsl:variable>
                     <xsl:variable name="settingTracker">local<xsl:value-of select="@javaname"/>Tracker</xsl:variable>
 
+                    <xsl:variable name="propertyType"><xsl:value-of select="@type"/></xsl:variable>
+                    <xsl:variable name="propertyTypeName">javax.xml.namespace.QName</xsl:variable>
+
 
                     <xsl:if test="$min=0 or $choice"> if (<xsl:value-of select="$settingTracker"/>){</xsl:if>
                     <xsl:choose>
@@ -791,7 +794,32 @@
                     <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:if test="not(@primitive)">
+                                          if (<xsl:value-of select="$varName"/>==null){
+                                          // write the nil attribute
+                                          writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","true",xmlWriter);
+                                         }else{
+                                               <xsl:if test="$propertyTypeName=$propertyType">
+                                                    java.lang.String namespaceURI =<xsl:value-of select="$varName"/>.getNamespaceURI();
+                                                    if(namespaceURI !=null){
+                                                       prefix = <xsl:value-of select="$varName"/>.getPrefix();
+                                                       if (prefix == null) {
+                                                        prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
+                                                      }
+                                                     xmlWriter.writeNamespace(prefix,namespaceURI );
+                                                     xmlWriter.writeCharacters(prefix + ":"+ org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
+                                                    } else {
+                                                       xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
+                                                    }
+                                               </xsl:if>
+                                              <xsl:if test="not($propertyTypeName=$propertyType)">
+                                               xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
+                                               </xsl:if>
+                                         }
+                                    </xsl:if>
+                                    <xsl:if test="@primitive">
+                                       xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
+                                  </xsl:if>
                                  </xsl:otherwise>
                              </xsl:choose>
                     xmlWriter.writeEndElement();
@@ -886,7 +914,6 @@
             } else {
                 xmlWriter.writeStartElement(localName);
             }
-
             xmlWriter.writeCharacters(
                         org.apache.axis2.databinding.utils.ConverterUtil.convertToString(<xsl:value-of select="$varName"/>));
                        xmlWriter.writeEndElement();

Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java?view=diff&rev=448458&r1=448457&r2=448458
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java Wed Sep 20 21:35:38 2006
@@ -166,6 +166,13 @@
     public static String convertToString(UnsignedLong o) {
         return o.toString();
     }
+     public static String convertToString(QName o) {
+         if(o!=null){
+             return o.getLocalPart();
+         } else {
+             return "";
+         }
+    }
 
     public static String convertToString(Object o) {
         return o.toString();



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