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 am...@apache.org on 2007/06/19 23:02:16 UTC

svn commit: r548854 - in /webservices/axis2/trunk/java/modules/adb-codegen: src/org/apache/axis2/schema/ src/org/apache/axis2/schema/template/ test-resources/testsuite/ test/org/apache/axis2/schema/innerparticles/

Author: amilas
Date: Tue Jun 19 14:02:15 2007
New Revision: 548854

URL: http://svn.apache.org/viewvc?view=rev&rev=548854
Log:
fixed the issue Axis2-2814

Modified:
    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/template/ADBBeanTemplate.xsl
    webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/innerParticles.xsd
    webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticles/InnerParticlesTest.java

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=548854&r1=548853&r2=548854
==============================================================================
--- 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 Jun 19 14:02:15 2007
@@ -1136,7 +1136,7 @@
 
             //process the particle of this node
             if (extension.getParticle() != null) {
-                processParticle(null,extension.getParticle(), metaInfHolder, parentSchema);
+                processParticle(extension.getBaseTypeName(),extension.getParticle(), metaInfHolder, parentSchema);
             }
 
             // process attributes

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=548854&r1=548853&r2=548854
==============================================================================
--- 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 Jun 19 14:02:15 2007
@@ -1872,6 +1872,11 @@
                  java.util.ArrayList elementList = new java.util.ArrayList();
                  java.util.ArrayList attribList = new java.util.ArrayList();
 
+                <xsl:if test="$extension">
+                    attribList.add(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema-instance","type"));
+                    attribList.add(new javax.xml.namespace.QName("<xsl:value-of select="$nsuri"/>","<xsl:value-of select="$originalName"/>"));
+                </xsl:if>
+
                 <xsl:for-each select="property[not(@attribute)]">
                     <xsl:variable name="propertyName"><xsl:value-of select="@name"/></xsl:variable>
                     <xsl:variable name="varName">local<xsl:value-of select="@javaname"/></xsl:variable>

Modified: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/innerParticles.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/innerParticles.xsd?view=diff&rev=548854&r1=548853&r2=548854
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/innerParticles.xsd (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/innerParticles.xsd Tue Jun 19 14:02:15 2007
@@ -52,7 +52,6 @@
             </xsd:choice>
         </xsd:complexType>
     </xsd:element>
-    
     <xsd:element name="TestInnerParticle5">
         <xsd:complexType>
             <xsd:sequence>
@@ -69,4 +68,24 @@
             </xsd:sequence>
         </xsd:complexType>
     </xsd:element>
+
+    <xsd:element name="TestInnterParticleExtension" type="test1:TestInnterParticleExtensionParentComplexType"/>
+
+    <xsd:complexType name="TestInnterParticleExtensionChildComplexType">
+        <xsd:complexContent>
+            <xsd:extension base="test1:TestInnterParticleExtensionParentComplexType">
+                <xsd:sequence>
+                    <xsd:choice>
+                        <xsd:element name="Param1" type="xsd:string"/>
+                        <xsd:element name="Param2" type="xsd:string"/>
+                    </xsd:choice>
+                </xsd:sequence>
+            </xsd:extension>
+        </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="TestInnterParticleExtensionParentComplexType">
+        <xsd:sequence>
+        </xsd:sequence>
+    </xsd:complexType>
 </xsd:schema>

Modified: webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticles/InnerParticlesTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticles/InnerParticlesTest.java?view=diff&rev=548854&r1=548853&r2=548854
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticles/InnerParticlesTest.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticles/InnerParticlesTest.java Tue Jun 19 14:02:15 2007
@@ -19,6 +19,7 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.util.StAXUtils;
+import org.apache.axis2.databinding.ADBException;
 
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
@@ -28,6 +29,7 @@
 import java.io.ByteArrayInputStream;
 
 
+
 public class InnerParticlesTest extends TestCase {
 
     public void testInnerParticle1() {
@@ -267,6 +269,40 @@
             fail();
         }
 
+    }
+
+    public void testIntterParticalExtension(){
+         TestInnterParticleExtension testInnterParticleExtension = new TestInnterParticleExtension();
+
+        TestInnterParticleExtensionChildComplexType testInnterParticleExtensionChildComplexType =
+                new TestInnterParticleExtensionChildComplexType();
+        testInnterParticleExtension.setTestInnterParticleExtension(testInnterParticleExtensionChildComplexType);
+
+        TestInnterParticleExtensionParentComplexTypeChoice_type6 testInnterParticleExtensionParentComplexTypeChoice_type0 =
+                new TestInnterParticleExtensionParentComplexTypeChoice_type6();
+        testInnterParticleExtensionChildComplexType.setTestInnterParticleExtensionParentComplexTypeChoice_type6(testInnterParticleExtensionParentComplexTypeChoice_type0);
+
+        testInnterParticleExtensionParentComplexTypeChoice_type0.setParam1("param1");
+        testInnterParticleExtensionParentComplexTypeChoice_type0.setParam2("param2");
+
+        try {
+            OMElement omElement = testInnterParticleExtension.getOMElement(TestInnterParticleExtension.MY_QNAME,
+                                                            OMAbstractFactory.getOMFactory());
+            String omElementString = omElement.toStringWithConsume();
+            System.out.println("OM String ==> " + omElementString);
+            XMLStreamReader xmlReader = StAXUtils.createXMLStreamReader(new ByteArrayInputStream(omElementString.getBytes()));
+            TestInnterParticleExtension result = TestInnterParticleExtension.Factory.parse(xmlReader);
+            assertTrue(result.getTestInnterParticleExtension() instanceof TestInnterParticleExtensionChildComplexType);
+            TestInnterParticleExtensionChildComplexType resultComplexType =
+                    (TestInnterParticleExtensionChildComplexType) result.getTestInnterParticleExtension();
+            assertEquals(resultComplexType.getTestInnterParticleExtensionParentComplexTypeChoice_type6().getParam2(),"param2");
+        } catch (ADBException e) {
+            fail();
+        } catch (XMLStreamException e) {
+            fail();
+        } catch (Exception e) {
+            fail();
+        }
     }
 
 



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