You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2005/04/29 19:57:53 UTC

cvs commit: ws-axis/java/src/org/apache/axis/encoding/ser BeanDeserializer.java

dims        2005/04/29 10:57:53

  Modified:    java/src/org/apache/axis/encoding/ser BeanDeserializer.java
  Log:
  one more fix for jonas...will check in the test case in a bit. (doc/lit wsdl, --helperGen --wrapArrays true -t --typeMappingVersion 1.3, minus getter/setter indexed methods)
  
  Revision  Changes    Path
  1.73      +14 -6     ws-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java
  
  Index: BeanDeserializer.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java,v
  retrieving revision 1.72
  retrieving revision 1.73
  diff -u -r1.72 -r1.73
  --- BeanDeserializer.java	12 Apr 2005 22:18:15 -0000	1.72
  +++ BeanDeserializer.java	29 Apr 2005 17:57:53 -0000	1.73
  @@ -18,29 +18,29 @@
   
   import org.apache.axis.Constants;
   import org.apache.axis.components.logger.LogFactory;
  +import org.apache.axis.description.ElementDesc;
   import org.apache.axis.description.FieldDesc;
   import org.apache.axis.description.TypeDesc;
  -import org.apache.axis.description.ElementDesc;
  +import org.apache.axis.encoding.ConstructorTarget;
   import org.apache.axis.encoding.DeserializationContext;
   import org.apache.axis.encoding.Deserializer;
   import org.apache.axis.encoding.DeserializerImpl;
  -import org.apache.axis.encoding.TypeMapping;
   import org.apache.axis.encoding.Target;
  -import org.apache.axis.encoding.ConstructorTarget;
  +import org.apache.axis.encoding.TypeMapping;
   import org.apache.axis.message.MessageElement;
   import org.apache.axis.message.SOAPHandler;
  +import org.apache.axis.soap.SOAPConstants;
   import org.apache.axis.utils.BeanPropertyDescriptor;
   import org.apache.axis.utils.Messages;
  -import org.apache.axis.soap.SOAPConstants;
   import org.apache.commons.logging.Log;
   import org.xml.sax.Attributes;
   import org.xml.sax.SAXException;
   
   import javax.xml.namespace.QName;
  -import java.io.Serializable;
   import java.io.CharArrayWriter;
  -import java.util.Map;
  +import java.io.Serializable;
   import java.lang.reflect.Constructor;
  +import java.util.Map;
   
   /**
    * General purpose deserializer for an arbitrary java bean.
  @@ -299,6 +299,14 @@
                       addChildDeserializer(dSer);
                       return (SOAPHandler)dSer;
                   }
  +            } else if (propDesc != null && fieldDesc != null && fieldDesc instanceof ElementDesc) {
  +                if(((ElementDesc)fieldDesc).isMaxOccursUnbounded()){
  +                    collectionIndex++;
  +                    dSer.registerValueTarget(new BeanPropertyTarget(value,
  +                            propDesc, collectionIndex));
  +                    addChildDeserializer(dSer);
  +                    return (SOAPHandler)dSer;
  +                }
               }
               return null;
           }