CLONE -ConverterUtil.compare fails for BigInteger values
--------------------------------------------------------
Key: AXIS2-4924
URL: https://issues.apache.org/jira/browse/AXIS2-4924
Project: Axis2
Issue Type: Bug
Components: adb
Affects Versions: 1.4.1
Environment: Axis2 1.4.1, JBoss 4.2, jdk6u10
Reporter: Henk Spaan
A range is defined as:
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="999999999999999"/>
</xs:restriction>
The generated databinding calls:
public void setPhoneNumberType(java.math.BigInteger param){
if
(org.apache.axis2.databinding.utils.ConverterUtil.compare(param,
"999999999999999") <= 0){
this.localPhoneNumberType=param;
} else {
throw new java.lang.RuntimeException();
}
The ConverterUtil code is:
public static int compare(BigInteger binBigInteger, String value) {
return binBigInteger.intValue() - Integer.parseInt(value);
}
This will always fail for values that exceed the capacity of a
java.lang.Integer with:
Caused by: java.lang.NumberFormatException: For input string:
"999999999999999"
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:459)
at java.lang.Integer.parseInt(Integer.java:497)
at
org.apache.axis2.databinding.utils.ConverterUtil.compare(ConverterUtil.java:1281)
[...]
--
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]