Author: amilas
Date: Wed Dec 19 02:40:35 2007
New Revision: 605508

URL: http://svn.apache.org/viewvc?rev=605508&view=rev
Log:
fixed the isse Axis2-3409

Modified:
    
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/template/ADBBeanTemplate.xsl
URL: 
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl?rev=605508&r1=605507&r2=605508&view=diff
==============================================================================
--- 
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 Dec 19 02:40:35 2007
@@ -3488,7 +3488,9 @@
                                     }
                                 </xsl:if>
                             </xsl:if>
-                            <xsl:if test="$ordered and $min!=0">
+                            <!-- in a particle class all inner elements may be 
min=0 their validation done
+                                 inside the sequce class -->
+                            <xsl:if test="$ordered and $min!=0 and 
not($particleClassType)">
                                 else{
                                     // A start element we are not expecting 
indicates an invalid parameter was passed
                                     throw new 
org.apache.axis2.databinding.ADBException("Unexpected subelement " + 
reader.getLocalName());

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?rev=605508&r1=605507&r2=605508&view=diff
==============================================================================
--- 
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
 Wed Dec 19 02:40:35 2007
@@ -106,4 +106,29 @@
         <xsd:sequence>
         </xsd:sequence>
     </xsd:complexType>
+
+    <xsd:complexType name="TestComplexType">
+        <xsd:sequence>
+            <xsd:element ref="test1:TestElement"/>
+            <xsd:sequence>
+                <xsd:element name="TestInnerElement" minOccurs="0">
+                    <xsd:complexType>
+                        <xsd:sequence>
+                        </xsd:sequence>
+                    </xsd:complexType>
+                </xsd:element>
+            </xsd:sequence>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:element name="TestElement">
+        <xsd:complexType>
+            <xsd:sequence>
+                <xsd:element name="param" type="xsd:string"/>
+            </xsd:sequence>
+        </xsd:complexType>
+    </xsd:element>
+
+    <xsd:element name="TestComplexTypeElement" type="test1:TestComplexType"/>
+
 </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?rev=605508&r1=605507&r2=605508&view=diff
==============================================================================
--- 
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
 Wed Dec 19 02:40:35 2007
@@ -308,5 +308,37 @@
         }
     }
 
+    public void testTestComplexTypeElement(){
+        TestComplexTypeElement testComplexTypeElement = new 
TestComplexTypeElement();
+
+        TestComplexType testComplexType = new TestComplexType();
+        testComplexTypeElement.setTestComplexTypeElement(testComplexType);
+
+        TestElement_type0 testElement_type0 = new TestElement_type0();
+        testElement_type0.setParam("param");
+        testComplexType.setTestElement(testElement_type0);
+
+        TestComplexTypeSequence_type0 testComplexTypeSequence_type0 = new 
TestComplexTypeSequence_type0();
+        
testComplexType.setTestComplexTypeSequence_type0(testComplexTypeSequence_type0);
+
+        try {
+            OMElement omElement = testComplexTypeElement.getOMElement(
+                    
TestComplexTypeElement.MY_QNAME,OMAbstractFactory.getOMFactory());
+            String omElementString = omElement.toStringWithConsume();
+            System.out.println("OM String ==> " + omElementString);
+            XMLStreamReader xmlReader = StAXUtils.createXMLStreamReader(
+                    new ByteArrayInputStream(omElementString.getBytes()));
+            TestComplexTypeElement result = 
TestComplexTypeElement.Factory.parse(xmlReader);
+            
assertEquals(result.getTestComplexTypeElement().getTestElement().getParam(),"param");
+        } catch (ADBException e) {
+            fail();
+        } catch (XMLStreamException e) {
+            fail();
+        } catch (Exception e) {
+            e.printStackTrace();
+            fail();
+        }
+    }
+
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to