You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2006/09/22 06:10:16 UTC

svn commit: r448796 - 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: Thu Sep 21 21:10:16 2006
New Revision: 448796

URL: http://svn.apache.org/viewvc?view=rev&rev=448796
Log:
completed Qaname handling :)

EchoQName is working properly .

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=448796&r1=448795&r2=448796
==============================================================================
--- 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 Sep 21 21:10:16 2006
@@ -1344,6 +1344,7 @@
                             <xsl:variable name="basePropertyType"><xsl:value-of select="@arrayBaseType"/></xsl:variable>
                             <xsl:variable name="namespace"><xsl:value-of select="@nsuri"/></xsl:variable>
                             <xsl:variable name="min"><xsl:value-of select="@minOccurs"/></xsl:variable>
+                            <xsl:variable name="propertyTypeName">javax.xml.namespace.QName</xsl:variable>
 
                             <xsl:variable name="propQName">new javax.xml.namespace.QName("<xsl:value-of select="$namespace"/>","<xsl:value-of select="$propertyName"/>")</xsl:variable>
 
@@ -1563,8 +1564,21 @@
                                 <xsl:otherwise>
                                     java.lang.String content = reader.getElementText();
                                     <xsl:if test="not(enumFacet)">
-                                    object.set<xsl:value-of select="$javaName"/>(
+                                        <xsl:if test="$propertyTypeName=$propertyType">
+                                            int index = content.indexOf(":");
+                                            java.lang.String prefix ="";
+                                            java.lang.String namespaceuri ="";
+                                            if(index >0){
+                                                 prefix = content.substring(0,index);
+                                                 namespaceuri = reader.getNamespaceURI(prefix);
+                                             }
+                                             object.set<xsl:value-of select="$javaName"/>(
+                                                  org.apache.axis2.databinding.utils.ConverterUtil.convertToQName(content,namespaceuri));
+                                         </xsl:if>
+                                         <xsl:if test="not($propertyTypeName=$propertyType)">
+                                              object.set<xsl:value-of select="$javaName"/>(
                                         org.apache.axis2.databinding.utils.ConverterUtil.convertTo<xsl:value-of select="$shortTypeName"/>(content));
+                                         </xsl:if>
                                     </xsl:if>
                                     <xsl:if test="(enumFacet)">
                                     object = <xsl:value-of select="$name"/>.fromString(content);
@@ -2329,6 +2343,7 @@
                             <xsl:variable name="basePropertyType"><xsl:value-of select="@arrayBaseType"/></xsl:variable>
                             <xsl:variable name="namespace"><xsl:value-of select="@nsuri"/></xsl:variable>
                             <xsl:variable name="min"><xsl:value-of select="@minOccurs"/></xsl:variable>
+                             <xsl:variable name="propertyTypeName">javax.xml.namespace.QName</xsl:variable>
 
                             <xsl:variable name="propQName">new javax.xml.namespace.QName("<xsl:value-of select="$namespace"/>","<xsl:value-of select="$propertyName"/>")</xsl:variable>
 
@@ -2543,8 +2558,21 @@
                                 <!-- start of the simple types handling -->
                                 <xsl:otherwise>
                                     java.lang.String content = reader.getElementText();
-                                    object.set<xsl:value-of select="$javaName"/>(
+                                    <xsl:if test="$propertyTypeName=$propertyType">
+                                            int index = content.indexOf(":");
+                                            java.lang.String prefix ="";
+                                            java.lang.String namespaceuri ="";
+                                            if(index >0){
+                                                 prefix = content.substring(0,index);
+                                                 namespaceuri = reader.getNamespaceURI(prefix);
+                                             }
+                                             object.set<xsl:value-of select="$javaName"/>(
+                                                  org.apache.axis2.databinding.utils.ConverterUtil.convertToQName(content,namespaceuri));
+                                         </xsl:if>
+                                         <xsl:if test="not($propertyTypeName=$propertyType)">
+                                              object.set<xsl:value-of select="$javaName"/>(
                                         org.apache.axis2.databinding.utils.ConverterUtil.convertTo<xsl:value-of select="$shortTypeName"/>(content));
+                                          </xsl:if>
                                     <xsl:if test="$isType or $anon">  <!-- This is a subelement property to be consumed -->
                                         reader.next();
                                     </xsl:if>

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=448796&r1=448795&r2=448796
==============================================================================
--- 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 Thu Sep 21 21:10:16 2006
@@ -600,13 +600,13 @@
      * @param source
      * @return Returns QName.
      */
-    public static QName convertToQName(String source) {
+    public static QName convertToQName(String source, String nameSpaceuri) {
         source = source.trim();
         int colon = source.lastIndexOf(":");
-        String namespace = colon < 0 ? "" : "";// todo Fix this. Need to take a namespace with this
         //context.getNamespaceURI(source.substring(0, colon));
         String localPart = colon < 0 ? source : source.substring(colon + 1);
-        return new QName(namespace, localPart);
+        String perfix =    colon <= 0 ? "" : source.substring(0,colon);
+        return new QName(nameSpaceuri, localPart,perfix);
     }
 
     /* ################################################################# */



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