axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roman HEINZ (JIRA)" <j...@apache.org>
Subject [jira] Created: (AXIS2-4200) ConverterUtil.compare fails for BigInteger values
Date Fri, 09 Jan 2009 08:28:59 GMT
ConverterUtil.compare fails for BigInteger values
-------------------------------------------------

                 Key: AXIS2-4200
                 URL: https://issues.apache.org/jira/browse/AXIS2-4200
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: adb
    Affects Versions: 1.4.1
         Environment: Axis2 1.4.1, JBoss 4.2, jdk6u10
            Reporter: Roman HEINZ


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.


Mime
View raw message