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 di...@apache.org on 2006/09/14 01:14:30 UTC

svn commit: r443163 - in /webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema: BeanWriterMetaInfoHolder.java SchemaConstants.java template/ADBBeanTemplate.xsl writer/CStructWriter.java writer/JavaBeanWriter.java

Author: dims
Date: Wed Sep 13 16:14:29 2006
New Revision: 443163

URL: http://svn.apache.org/viewvc?view=rev&rev=443163
Log:
fix for AXIS2-1147 Wrong request message from ADB stub for rpc-lit wsdl

Modified:
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaConstants.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java?view=diff&rev=443163&r1=443162&r2=443163
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java Wed Sep 13 16:14:29 2006
@@ -347,7 +347,7 @@
     }
 
     /**
-     * Gets whether a given QName refers to an array.
+     * Gets whether a given QName refers to binary.
      *
      * @param qName
      * @return Returns boolean.
@@ -357,6 +357,19 @@
         return state != null && getStatus(state.intValue(),
                 SchemaConstants.BINARY_TYPE);
     }
+
+    /**
+     * Gets whether a given QName refers to Simple Type.
+     *
+     * @param qName
+     * @return Returns boolean.
+     */
+    public boolean getSimpleTypeStatusForQName(QName qName) {
+        Integer state = (Integer) specialTypeFlagMap.get(qName);
+        return state != null && getStatus(state.intValue(),
+                SchemaConstants.SIMPLE_TYPE);
+    }
+
     /**
      * Gets whether a given QName has the any attribute status.
      *

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaConstants.java?view=diff&rev=443163&r1=443162&r2=443163
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaConstants.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaConstants.java Wed Sep 13 16:14:29 2006
@@ -82,13 +82,12 @@
 
     //bit patterns for the types
     public static final int ATTRIBUTE_TYPE = 0x01;
-    //public static final int ANY = 0x02;
     public static final int ELEMENT_TYPE = 0x02;
-    //public static final int ANY_ATTRIBUTE_TYPE = 0x08;
     public static final int ARRAY_TYPE = 0x04;
     public static final int ANY_TYPE = 0x08;
     public static final int BINARY_TYPE = 0x10;
     public static final int OPTIONAL_TYPE = 0x20;
+    public static final int SIMPLE_TYPE = 0x40;
 
     public static class SchemaPropertyNames{
 

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=443163&r1=443162&r2=443163
==============================================================================
--- 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 13 16:14:29 2006
@@ -861,24 +861,30 @@
                     </xsl:when>
                     <!-- end of ours block-->
                     <xsl:otherwise>
+                        <xsl:if test="not(property/@simple)">
                 java.lang.String namespace = "<xsl:value-of select="property/@nsuri"/>";
-
+                java.lang.String localName = "<xsl:value-of select="property/@name"/>";
+                        </xsl:if>
+                        <xsl:if test="property/@simple">
+                java.lang.String namespace = parentQName.getNamespaceURI();
+                java.lang.String localName = parentQName.getLocalPart();
+                        </xsl:if>
             if (! namespace.equals("")) {
                 java.lang.String prefix = xmlWriter.getPrefix(namespace);
 
                 if (prefix == null) {
                     prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
 
-                    xmlWriter.writeStartElement(prefix,"<xsl:value-of select="property/@name"/>", namespace);
+                    xmlWriter.writeStartElement(prefix, localName, namespace);
                     xmlWriter.writeNamespace(prefix, namespace);
                     xmlWriter.setPrefix(prefix, namespace);
 
                 } else {
-                    xmlWriter.writeStartElement(namespace,"<xsl:value-of select="property/@name"/>");
+                    xmlWriter.writeStartElement(namespace, localName);
                 }
 
             } else {
-                xmlWriter.writeStartElement("<xsl:value-of select="property/@name"/>");
+                xmlWriter.writeStartElement(localName);
             }
 
             xmlWriter.writeCharacters(
@@ -1326,7 +1332,7 @@
                                 </xsl:otherwise>
                             </xsl:choose>
                             <xsl:if test="not(enumFacet)">
-                            if (reader.isStartElement() &amp;&amp; <xsl:value-of select="$propQName"/>.equals(reader.getName())){
+                            if (reader.isStartElement() <xsl:if test="not(@simple)">&amp;&amp; <xsl:value-of select="$propQName"/>.equals(reader.getName())</xsl:if>){
                             </xsl:if>
                             <xsl:choose>
                                 <xsl:when test="@array">

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java?view=diff&rev=443163&r1=443162&r2=443163
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java Wed Sep 13 16:14:29 2006
@@ -474,6 +474,11 @@
             if (metainf.getBinaryStatusForQName(name)) {
                 XSLTUtils.addAttribute(model, "binary", "yes", property);
             }
+
+            if (metainf.getSimpleTypeStatusForQName(name)) {
+                XSLTUtils.addAttribute(model, "simple", "yes", property);
+            }
+
             //put the min occurs count irrespective of whether it's an array or not
             long minOccurs = metainf.getMinOccurs(name);
             XSLTUtils.addAttribute(model, "minOccurs", minOccurs + "", property);

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java?view=diff&rev=443163&r1=443162&r2=443163
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java Wed Sep 13 16:14:29 2006
@@ -261,6 +261,7 @@
             if(qName == null) {
                 qName = (QName) simpleType.getMetaInfoMap().get(SchemaConstants.SchemaCompilerInfoHolder.FAKE_QNAME);
             }
+            metainf.addtStatus(qName, SchemaConstants.SIMPLE_TYPE);
             return process(qName, metainf, typeMap, true);
         } catch (Exception e) {
             throw new SchemaCompilationException(e);
@@ -646,6 +647,11 @@
             if (metainf.getBinaryStatusForQName(name)) {
                 XSLTUtils.addAttribute(model, "binary", "yes", property);
             }
+
+            if (metainf.getSimpleTypeStatusForQName(name)) {
+                XSLTUtils.addAttribute(model, "simple", "yes", property);
+            }
+
             // put the min occurs count irrespective of whether it's an array or
             // not
             long minOccurs = metainf.getMinOccurs(name);



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