scheu       02/04/02 06:22:11

  Modified:    java/src/org/apache/axis/encoding/ser BeanDeserializer.java
  Log:
  Fix to the bean serializer submitted by Ravi Kumar.  Thanks Ravi!
  The collectionIndex was not being reset properly.
  
  Revision  Changes    Path
  1.17      +10 -3     
xml-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java
  
  Index: BeanDeserializer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- BeanDeserializer.java     28 Mar 2002 18:41:16 -0000      1.16
  +++ BeanDeserializer.java     2 Apr 2002 14:22:11 -0000       1.17
  @@ -102,6 +102,7 @@
       QName xmlType;
       Class javaType;
       protected HashMap propertyMap = new HashMap();
  +    protected QName prevQName;
       
       /** Type metadata about this class for XML deserialization */
       protected TypeDesc typeDesc = null;
  @@ -157,9 +158,15 @@
       {
           BeanPropertyDescriptor propDesc = null;
           
  -        if (typeDesc != null) {
  -            QName elemQName = new QName(namespace, localName);
  -            
  +        QName elemQName = new QName(namespace, localName);
  +        // The collectionIndex needs to be reset for Beans with multiple arrays
  +        if ((prevQName == null) || (!prevQName.equals(elemQName))) {
  +            prevQName = elemQName;
  +            collectionIndex = -1;
  +        }  
  +        prevQName = elemQName;
  +
  +        if (typeDesc != null) {       
               // IF we're SOAP-encoded AND this is an unprefixed element,
               // ignore the actual namespace context for the element, and
               // just compare local names.
  
  
  


Reply via email to