rdonkin     2003/03/26 11:51:46

  Modified:    beanutils/src/java/org/apache/commons/beanutils
                        BeanUtilsBean.java
               beanutils/src/test/org/apache/commons/beanutils
                        BeanUtilsTestCase.java
  Log:
  Made BeanUtils.getArrayProperty conversions use ConvertUtils (rather than just 
toString). This enhancement is bug #17663.
  
  Revision  Changes    Path
  1.4       +8 -6      
jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/BeanUtilsBean.java
  
  Index: BeanUtilsBean.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/BeanUtilsBean.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BeanUtilsBean.java        20 Mar 2003 20:12:24 -0000      1.3
  +++ BeanUtilsBean.java        26 Mar 2003 19:51:46 -0000      1.4
  @@ -547,7 +547,8 @@
                   if (item == null) {
                       values.add((String) null);
                   } else {
  -                    values.add(item.toString());
  +                    // convert to string using convert utils
  +                    values.add(getConvertUtils().convert(item));
                   }
               }
               return ((String[]) values.toArray(new String[values.size()]));
  @@ -559,7 +560,8 @@
                   if (item == null) {
                       results[i] = null;
                   } else {
  -                    results[i] = item.toString();
  +                    // convert to string using convert utils
  +                    results[i] = getConvertUtils().convert(item);
                   }
               }
               return (results);
  
  
  
  1.24      +31 -4     
jakarta-commons/beanutils/src/test/org/apache/commons/beanutils/BeanUtilsTestCase.java
  
  Index: BeanUtilsTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/beanutils/src/test/org/apache/commons/beanutils/BeanUtilsTestCase.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- BeanUtilsTestCase.java    15 Mar 2003 11:38:11 -0000      1.23
  +++ BeanUtilsTestCase.java    26 Mar 2003 19:51:46 -0000      1.24
  @@ -1293,6 +1293,33 @@
           }
       }
   
  +    public void testArrayPropertyConversion() throws Exception {
  +        BeanUtilsBean beanUtils = new BeanUtilsBean( 
  +                                                    new ConvertUtilsBean(), 
  +                                                    new PropertyUtilsBean());
  +        beanUtils.getConvertUtils().register(
  +            new Converter () {
  +                public Object convert(Class type, Object value) {
  +                    return "Spam, spam, spam, spam!";
  +                }
  +            },
  +            String.class);
  +            
  +        TestBean bean = new TestBean();
  +        String [] results = beanUtils.getArrayProperty(bean, "intArray");
  +                
  +        int[] values = bean.getIntArray();
  +        assertEquals(
  +                    "Converted array size not equal to property array size.",
  +                    results.length,
  +                    values.length);
  +        for (int i=0, size=values.length ;  i<size; i++) {
  +            assertEquals(
  +                    "Value " + i + " incorrectly converted ", 
  +                    "Spam, spam, spam, spam!",
  +                    results[i]);
  +        }
  +    }
   
       // Ensure that the actual int[] matches the expected int[]
       protected void checkIntArray(int actual[], int expected[]) {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to