Amila,

As the name of the file implies, the test case that uses
chameleon_include.xsd was designed to check that ADB correctly
supports the chameleon pattern [1]. See AXIS2-3851. By adding a
targetNamespace, the schema no longer uses the chameleon pattern.
Thus, there is probably a regression here.

Andreas

[1] http://www.xfront.com/ZeroOneOrManyNamespaces.html#mixed

On Mon, May 31, 2010 at 18:04,  <[email protected]> wrote:
> Author: amilas
> Date: Mon May 31 16:04:36 2010
> New Revision: 949782
>
> URL: http://svn.apache.org/viewvc?rev=949782&view=rev
> Log:
> Xmlschema searches within the imported and included schema, if QName is 
> given. However adb code gen need to check only that element exists within the 
> given schema. Changed the schema compiler to provide the local part of the 
> qname.
>
> Modified:
>    
> axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
>    
> axis/axis2/java/core/trunk/modules/adb-codegen/test-resources/testsuite/chameleon_include.xsd
>
> Modified: 
> axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
> URL: 
> http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java?rev=949782&r1=949781&r2=949782&view=diff
> ==============================================================================
> --- 
> axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
>  (original)
> +++ 
> axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
>  Mon May 31 16:04:36 2010
> @@ -722,6 +722,7 @@ public class SchemaCompiler {
>             // here what we want is to set the schema type name for the 
> element
>             if ((referencedElement.getSchemaType() != null)
>                     && (referencedElement.getSchemaType().getQName() != 
> null)){
> +
>                 // i.e this element refers to an complex type name
>                 if 
> (!this.processedElementRefMap.containsKey(referencedElement.getQName())) {
>                     if 
> (this.baseSchemaTypeMap.containsKey(referencedElement.getSchemaTypeName())) {
> @@ -2728,11 +2729,11 @@ public class SchemaCompiler {
>         boolean isExists = false;
>         switch (componetType) {
>             case COMPONENT_TYPE : {
> -                isExists = (schema.getTypeByName(componentQName) != null);
> +                isExists = 
> (schema.getTypeByName(componentQName.getLocalPart()) != null);
>                 break;
>             }
>             case COMPONENT_ELEMENT : {
> -                isExists = (schema.getElementByName(componentQName) != null);
> +                isExists = 
> (schema.getElementByName(componentQName.getLocalPart()) != null);
>                 break;
>             }
>             case COMPONENT_ATTRIBUTE : {
>
> Modified: 
> axis/axis2/java/core/trunk/modules/adb-codegen/test-resources/testsuite/chameleon_include.xsd
> URL: 
> http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb-codegen/test-resources/testsuite/chameleon_include.xsd?rev=949782&r1=949781&r2=949782&view=diff
> ==============================================================================
> --- 
> axis/axis2/java/core/trunk/modules/adb-codegen/test-resources/testsuite/chameleon_include.xsd
>  (original)
> +++ 
> axis/axis2/java/core/trunk/modules/adb-codegen/test-resources/testsuite/chameleon_include.xsd
>  Mon May 31 16:04:36 2010
> @@ -18,6 +18,7 @@
>   ~ under the License.
>   -->
>  <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> +            targetNamespace="http://apache.org/axis2/schema/chameleon";
>             elementFormDefault="qualified">
>     <xsd:complexType name="SupportingSchemaType">
>         <xsd:sequence>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to