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 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() && <xsl:value-of select="$propQName"/>.equals(reader.getName())){
+ if (reader.isStartElement() <xsl:if test="not(@simple)">&& <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