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