[
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]