[ 
https://issues.apache.org/jira/browse/AXIS2-3287?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amila Chinthaka Suriarachchi resolved AXIS2-3287.
-------------------------------------------------

    Resolution: Fixed
      Assignee: Amila Chinthaka Suriarachchi

fixed the issue revision 586305

> ConverterUtil.convertToArray fails for boolean.class
> ----------------------------------------------------
>
>                 Key: AXIS2-3287
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3287
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: adb, databinding
>    Affects Versions: 1.4, 1.3
>         Environment: Maven version: 2.0.7
> Java version: 1.6.0_02
> OS name: "windows xp" version: "5.1" arch: "x86"
>            Reporter: Thorsten H. Riek
>            Assignee: Amila Chinthaka Suriarachchi
>            Priority: Critical
>
> Conversion  ConverterUtil.convertToArray  fails for 
>    String[] testString = {"true","false"};
>    Object[] convertedObj = ConverterUtil.convertToArray( boolean.class, 
> testString );
> The Result is:
>    convertedObj[0] --> false
>    convertedObj[1] --> false
> The Problem is the conversion from String to boolean is wrong:
> org.apache.axis2.databinding.utils.ConverterUtil.convertToArray
> // >>-----------------------------------------------------------------
> } else if (boolean.class.equals(baseArrayClass)) {
>             boolean[] array = new boolean[listSize];
>             for (int i = 0; i < listSize; i++) {
>                 Object o = objectList.get(i);
>                 if (o != null) {
>                     array[i] = Boolean.getBoolean(o.toString());
>                 }
>             }
>             returnArray = array;
> }
> // <<-----------------------------------------------------------------
>    array[i] = Boolean.getBoolean(o.toString()); is wrong
> it should be:
>    array[i] = Boolean.parseBoolean(o.toString());
> Here is the modified Testcase to reproduce it:
> ConverterUtilTest
> // >>-----------------------------------------------------------------
>     /** boolean arrays */
>     public void testBool() {
>         List l = new ArrayList();
>         l.add("true");
>         l.add("false");
>         l.add("true");
>         l.add("false");
>         Object convertedObj = ConverterUtil.convertToArray(
>                 boolean.class, l);
>         assertTrue(convertedObj.getClass().isArray());
>         assertTrue(convertedObj.getClass().equals(boolean[].class));
>         
>         if (convertedObj.getClass().isArray()) {
>             Object[] result = l.toArray();
>             for (int i=0;i<result.length ; i++){
>                 System.out.println(Boolean.parseBoolean((String) result[i])+" 
> == "+((boolean[])convertedObj)[i]);
>                 
> assertTrue(Boolean.parseBoolean((String)result[i])==((boolean[])convertedObj)[i]);
>             }
>         }
>     }
> // <<-----------------------------------------------------------------

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to