You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Sagara Gunathunga (JIRA)" <ji...@apache.org> on 2012/07/12 10:26:36 UTC

[jira] [Resolved] (AXIS2-4356) WSDL2Java doesn't support xsd:element@fixed

     [ https://issues.apache.org/jira/browse/AXIS2-4356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sagara Gunathunga  resolved AXIS2-4356.
---------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.6.3
                   1.7.0

Fixed in r1360573. 
                
> WSDL2Java doesn't support xsd:element@fixed
> -------------------------------------------
>
>                 Key: AXIS2-4356
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4356
>             Project: Axis2
>          Issue Type: Improvement
>          Components: codegen
>    Affects Versions: 1.4.1
>         Environment: Java 6
>            Reporter: Aaron Gourley
>            Assignee: Sagara Gunathunga 
>            Priority: Minor
>             Fix For: 1.7.0, 1.6.3
>
>         Attachments: SchemaCompiler.java, axis2-adb-codegen-1.4.1.jar
>
>
> For reference, the default and fixed constraints are defined here:
> http://www.w3.org/TR/xmlschema-1/#e-value_constraint
> Consider the following XML schema definitions:
> <xs:element name="ResultCode" type="tns:ResultCode" />
> <xs:complexType name="ResultCode">
>     <xs:sequence>
>         <xs:element name="code" default="0" type="xs:long" />
>     </xs:sequence>
> </xs:complexType>
> <xs:element name="SuccessCode" type="tns:SuccessCode" />
> <xs:complexType name="SuccessCode">
>     <xs:sequence>
>         <xs:element name="code" fixed="0" type="xs:long" />
>     </xs:sequence>
> </xs:complexType>
> ADB code generated for the ResultCode element is correct in setting the default value of the code field to 0:
>     protected long localCode = org.apache.axis2.databinding.utils.ConverterUtil.convertToLong("0");
> ADB code generated for the SuccessCode element is incorrect according to XSD definition for the fixed element.  It actually appears to completely ignore the fixed attribute.  Considering the XSD definition for the fixed attribute, I think the generated code should declare the code field as final and set the final value as follows:
>     protected final long localCode = org.apache.axis2.databinding.utils.ConverterUtil.convertToLong("0");
> It follows that the generated code should not contain a setter method for the code field.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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