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 di...@apache.org on 2005/06/11 16:19:08 UTC

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

dims        2005/06/11 07:19:08

  Modified:    java/src/org/apache/axis/encoding/ser
                        BeanPropertyTarget.java
  Log:
  Fix for AXIS-1413 - Axis deserialization of Arrays
  from Vikram Roopchand
  
  Revision  Changes    Path
  1.24      +11 -0     ws-axis/java/src/org/apache/axis/encoding/ser/BeanPropertyTarget.java
  
  Index: BeanPropertyTarget.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/ser/BeanPropertyTarget.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- BeanPropertyTarget.java	27 Apr 2005 16:33:16 -0000	1.23
  +++ BeanPropertyTarget.java	11 Jun 2005 14:19:07 -0000	1.24
  @@ -83,6 +83,17 @@
                   // see it the value can be converted into
                   // the expected type.
                   Class type = pd.getType();
  +
  +
  +                if (value.getClass().isArray() 
  +                        && value.getClass().getComponentType().isPrimitive()
  +                        && type.isArray() 
  +                        && type.getComponentType().equals(Object.class))
  +                {
  +                    //we make our own array type here.
  +                    type = Array.newInstance(JavaUtils.getWrapperClass(value.getClass().getComponentType()),0).getClass();
  +                }
  +
                   if (JavaUtils.isConvertable(value, type)) {
                       value = JavaUtils.convert(value, type);
                       if (index < 0)