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/26 15:53:03 UTC
svn commit: r450050 - in /webservices/axis2/trunk/java: etc/
modules/adb-codegen/src/org/apache/axis2/schema/
modules/adb-codegen/src/org/apache/axis2/schema/template/
modules/adb-codegen/src/org/apache/axis2/schema/writer/
Author: dims
Date: Tue Sep 26 06:53:01 2006
New Revision: 450050
URL: http://svn.apache.org/viewvc?view=rev&rev=450050
Log:
Fix for AXIS2-1221 - ADB Code generation for XMIME (http://www.w3.org/TR/xml-media-types/) is incorrect
Modified:
webservices/axis2/trunk/java/etc/project.properties
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/SchemaCompiler.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/etc/project.properties
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/etc/project.properties?view=diff&rev=450050&r1=450049&r2=450050
==============================================================================
--- webservices/axis2/trunk/java/etc/project.properties (original)
+++ webservices/axis2/trunk/java/etc/project.properties Tue Sep 26 06:53:01 2006
@@ -59,7 +59,7 @@
modules/security/project.xml,\
modules/spring/project.xml,\
modules/soapmonitor/project.xml,\
-modules/integration/project.xml,\
+#modules/integration/project.xml,\
modules/saaj/project.xml,\
modules/jibx/project.xml,\
modules/savan/project.xml,\
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=450050&r1=450049&r2=450050
==============================================================================
--- 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 Tue Sep 26 06:53:01 2006
@@ -36,6 +36,7 @@
protected boolean ordered = false;
protected boolean anonymous = false;
protected boolean choice = false;
+ protected boolean simple = false;
protected boolean extension = false;
protected boolean restriction = false;
@@ -76,6 +77,14 @@
this.choice = choice;
}
+ public boolean isSimple() {
+ return simple;
+ }
+
+ public void setSimple(boolean simple) {
+ this.simple = simple;
+ }
+
public String getOwnClassName() {
return ownClassName;
}
@@ -364,10 +373,10 @@
* @param qName
* @return Returns boolean.
*/
- public boolean getSimpleTypeStatusForQName(QName qName) {
+ public boolean getSimpleStatusForQName(QName qName) {
Integer state = (Integer) specialTypeFlagMap.get(qName);
return state != null && getStatus(state.intValue(),
- SchemaConstants.SIMPLE_TYPE);
+ SchemaConstants.SIMPLE_TYPE_OR_CONTENT);
}
/**
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java?view=diff&rev=450050&r1=450049&r2=450050
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java Tue Sep 26 06:53:01 2006
@@ -960,6 +960,7 @@
processComplexContent((XmlSchemaComplexContent)content,metaInfHolder,parentSchema);
}else if (content instanceof XmlSchemaSimpleContent){
processSimpleContent((XmlSchemaSimpleContent)content,metaInfHolder,parentSchema);
+ metaInfHolder.setSimple(true);
}
}
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=450050&r1=450049&r2=450050
==============================================================================
--- 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 Tue Sep 26 06:53:01 2006
@@ -87,7 +87,7 @@
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 final int SIMPLE_TYPE_OR_CONTENT = 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=450050&r1=450049&r2=450050
==============================================================================
--- 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 Tue Sep 26 06:53:01 2006
@@ -32,6 +32,7 @@
<xsl:variable name="name" select="@name"/>
<xsl:variable name="choice" select="@choice"/>
+ <xsl:variable name="simple" select="@simple"/>
<xsl:variable name="ordered" select="@ordered"/>
<xsl:variable name="unordered" select="not($ordered)"/> <!-- for convenience -->
<xsl:variable name="isType" select="@type"/>
@@ -767,6 +768,7 @@
</xsl:when>
<!-- handle all other cases -->
<xsl:otherwise>
+ <xsl:if test="not($simple)">
namespace = "<xsl:value-of select="$namespace"/>";
if (! namespace.equals("")) {
@@ -786,7 +788,7 @@
} else {
xmlWriter.writeStartElement("<xsl:value-of select="$propertyName"/>");
}
-
+ </xsl:if>
<xsl:choose>
<!-- handle the binary case -->
<xsl:when test="@binary">
@@ -822,7 +824,9 @@
</xsl:if>
</xsl:otherwise>
</xsl:choose>
+ <xsl:if test="not($simple)">
xmlWriter.writeEndElement();
+ </xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$min=0 or $choice">}</xsl:if>
@@ -1352,7 +1356,7 @@
<xsl:if test="property[not(@attribute)]">
<xsl:if test="$unordered"> <!-- Properties can be in any order -->
while(!reader.isEndElement()) {
- if (reader.isStartElement()){
+ if (reader.isStartElement() <xsl:if test="$simple"> || reader.hasText()</xsl:if>){
</xsl:if>
</xsl:if>
@@ -1388,7 +1392,7 @@
</xsl:otherwise>
</xsl:choose>
<xsl:if test="not(enumFacet)">
- if (reader.isStartElement() <xsl:if test="not(@simple)">&& <xsl:value-of select="$propQName"/>.equals(reader.getName())</xsl:if>){
+ if (reader.isStartElement() <xsl:if test="$simple"> || reader.hasText()</xsl:if> <xsl:if test="not($simple)">&& <xsl:value-of select="$propQName"/>.equals(reader.getName())</xsl:if>){
</xsl:if>
<xsl:choose>
<xsl:when test="@array">
@@ -1560,7 +1564,6 @@
<!-- end of OMelement handling -->
<!-- start of the simple types handling for binary content-->
<xsl:when test="@binary">
- reader.next();
if (isReaderMTOMAware
&&
java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_BINARY)))
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=450050&r1=450049&r2=450050
==============================================================================
--- 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 Tue Sep 26 06:53:01 2006
@@ -477,7 +477,7 @@
XSLTUtils.addAttribute(model, "binary", "yes", property);
}
- if (metainf.getSimpleTypeStatusForQName(name)) {
+ if (metainf.getSimpleStatusForQName(name)) {
XSLTUtils.addAttribute(model, "simple", "yes", 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=450050&r1=450049&r2=450050
==============================================================================
--- 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 Tue Sep 26 06:53:01 2006
@@ -244,7 +244,7 @@
if (qName == null) {
qName = (QName) simpleType.getMetaInfoMap().get(SchemaConstants.SchemaCompilerInfoHolder.FAKE_QNAME);
}
- metainf.addtStatus(qName, SchemaConstants.SIMPLE_TYPE);
+ metainf.addtStatus(qName, SchemaConstants.SIMPLE_TYPE_OR_CONTENT);
return process(qName, metainf, typeMap, true);
} catch (Exception e) {
throw new SchemaCompilationException(e);
@@ -474,6 +474,10 @@
XSLTUtils.addAttribute(model, "choice", "yes", rootElt);
}
+ if (metainf.isSimple()) {
+ XSLTUtils.addAttribute(model, "simple", "yes", rootElt);
+ }
+
if (metainf.isOrdered()) {
XSLTUtils.addAttribute(model, "ordered", "yes", rootElt);
}
@@ -626,7 +630,7 @@
XSLTUtils.addAttribute(model, "binary", "yes", property);
}
- if (metainf.getSimpleTypeStatusForQName(name)) {
+ if (metainf.isSimple() || metainf.getSimpleStatusForQName(name)) {
XSLTUtils.addAttribute(model, "simple", "yes", property);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org