axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From axis-...@ws.apache.org
Subject [jira] Closed: (AXIS-1449) Deserialization of xsd:list attribute broken
Date Thu, 02 Sep 2004 12:20:50 GMT
Message:

   The following issue has been closed.

   Resolver: Davanum Srinivas
       Date: Thu, 2 Sep 2004 5:19 AM

Fixed.

thanks,
dims
---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1449

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1449
    Summary: Deserialization of xsd:list attribute broken
       Type: Bug

     Status: Closed
   Priority: Major
 Resolution: FIXED

    Project: Axis
 Components: 
             Serialization/Deserialization
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Steve Green

    Created: Tue, 13 Jul 2004 2:56 PM
    Updated: Thu, 2 Sep 2004 5:19 AM

Description:
This was tested against 1.2 beta and the head of CVS as of 13-Jul-2004.

In this xsd snippet, newEntryIDs is an attribute with a list of strings.

   <xs:complexType name="ModifyResponseType">
      <xs:sequence>
         <xs:element ref="Status"/>
	 <xs:element ref="Extension" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:ID" use="optional"/>
      <xs:attribute name="newEntryIDs" use="optional">
         <xs:simpleType>
            <xs:list itemType="xs:string"/>
         </xs:simpleType>
      </xs:attribute>
   </xs:complexType>

The generated java file defines newEntryIDs like this:

    private java.lang.String[] newEntryIDs;  // attribute

During deserialization, BeanDeserializer.onStartElement selects SimpleListDeserializer as
dSer, but then fails this test:

    if (! (dSer instanceof SimpleDeserializer))
                    throw new SAXException(
                         Messages.getMessage("AttrNotSimpleType00",
                                    bpd.getName(),
                                    bpd.getType().toString()));

In fact, SimpleListDeserializer derives directly from DeserializerImpl.  Changing SimpleListDeserializer
to derive from SimpleDeserializer seems to fix the problem.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message