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]