On 2/4/08, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Author: niallp
>  Date: Mon Feb  4 00:55:29 2008
>  New Revision: 618207
>
>  URL: http://svn.apache.org/viewvc?rev=618207&view=rev
>  Log:
>  Fix for BEANUTILS-302 - NPE in ArrayConverter when converting a string with 
> underscores to a string array - reported by Martin Bartlett
>
>  Modified:
>     
> commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/converters/ArrayConverter.java
>     
> commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/converters/ArrayConverterTestCase.java
>
>  Modified: 
> commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/converters/ArrayConverter.java
>  URL: 
> http://svn.apache.org/viewvc/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/converters/ArrayConverter.java?rev=618207&r1=618206&r2=618207&view=diff
>  
> ==============================================================================
>  --- 
> commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/converters/ArrayConverter.java
>  (original)
>  +++ 
> commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/converters/ArrayConverter.java
>  Mon Feb  4 00:55:29 2008
>  @@ -434,10 +434,12 @@
>              while (true) {
>                  int ttype = st.nextToken();
>                  if ((ttype == StreamTokenizer.TT_WORD) || (ttype > 0)) {
>  -                    if (list == null) {
>  -                        list = new ArrayList();
>  +                    if (st.sval != null) {
>  +                        if (list == null) {
>  +                            list = new ArrayList();
>  +                        }
>  +                        list.add(st.sval);
>                      }
>  -                    list.add(st.sval.trim());
<snip/>

No trim() vs. trim() -- desired change?

-Rahul



>                  } else if (ttype == StreamTokenizer.TT_EOF) {
>                      break;
>                  } else {
>
>  Modified: 
> commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/converters/ArrayConverterTestCase.java
>  URL: 
> http://svn.apache.org/viewvc/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/converters/ArrayConverterTestCase.java?rev=618207&r1=618206&r2=618207&view=diff
>  
> ==============================================================================
>  --- 
> commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/converters/ArrayConverterTestCase.java
>  (original)
>  +++ 
> commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/converters/ArrayConverterTestCase.java
>  Mon Feb  4 00:55:29 2008
>  @@ -361,6 +361,33 @@
>      }
>
>      /**
>  +     * Test for BEANUTILS-302 - throwing a NPE when underscore used
>  +     */
>  +    public void testUnderscore_BEANUTILS_302() {
>  +        String value = "first_value,second_value";
>  +        ArrayConverter converter = new ArrayConverter(String[].class, new 
> StringConverter());
>  +
>  +        // test underscore not allowed (the default)
>  +        String[] result = (String[])converter.convert(String[].class, 
> value);
>  +        assertNotNull("result.null", result);
>  +        assertEquals("result.length", 4, result.length);
>  +        assertEquals("result[0]", "first", result[0]);
>  +        assertEquals("result[1]", "value", result[1]);
>  +        assertEquals("result[2]", "second", result[2]);
>  +        assertEquals("result[3]", "value", result[3]);
>  +
>  +        // configure the converter to allow underscore
>  +        converter.setAllowedChars(new char[] {'.', '-', '_'});
>  +
>  +        // test underscore allowed
>  +        result = (String[])converter.convert(String[].class, value);
>  +        assertNotNull("result.null", result);
>  +        assertEquals("result.length", 2, result.length);
>  +        assertEquals("result[0]", "first_value", result[0]);
>  +        assertEquals("result[1]", "second_value", result[1]);
>  +    }
>  +
>  +    /**
>       * Check that two arrays are the same.
>       * @param msg Test prefix msg
>       * @param expected Expected Array value
>
>
>

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

Reply via email to