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.3, 1.4
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
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
{noformat}
} 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;
{noformat}
array[i] = Boolean.getBoolean(o.toString()); is wrong
it should be:
array[i] = Boolean.parse(o.toString());
Here is the modified Testcase to reproduce it:
ConverterUtilTest
{noformat}
/** 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]);
}
}
}
{noformat}
--
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]