You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "ANN SONIYA JOHNY (Jira)" <ji...@apache.org> on 2020/06/08 06:02:00 UTC

[jira] [Comment Edited] (AXIS2-5789) Generated code for xsd:totalDigits throws NumberFormatException

    [ https://issues.apache.org/jira/browse/AXIS2-5789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17127919#comment-17127919 ] 

ANN SONIYA JOHNY edited comment on AXIS2-5789 at 6/8/20, 6:01 AM:
------------------------------------------------------------------

Can you share the resolution for the NumberFormat exception reported as per this ticket?

 

I am facing the same exception with axis1 1.7.5 version


was (Author: ajohny):
Can you share the resolution for the NumberFormat exception reported as per this ticket?

> Generated code for xsd:totalDigits throws NumberFormatException
> ---------------------------------------------------------------
>
>                 Key: AXIS2-5789
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5789
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb, codegen
>    Affects Versions: 1.7.3
>            Reporter: Stefano Rodi
>            Priority: Major
>
> In relation to issue [https://issues.apache.org/jira/browse/AXIS2-5342],
> generated code for type:
> {code:xml}
>     <simpleType name="INTERO3_TYPE">
>         <restriction base="integer">
>             <totalDigits value="3"/>
>         </restriction>
>     </simpleType>
> {code}
> produces a class with setter:
> {code:java}
>  public void setINTERO3_TYPE(java.math.BigInteger param) {
>         java.lang.String totalDigitsDecimal = org.apache.axis2.databinding.utils.ConverterUtil.convertToStandardDecimalNotation("3").toPlainString();
>         if (org.apache.axis2.databinding.utils.ConverterUtil.compare(param, totalDigitsDecimal) < 0) {
>             this.localINTERO3_TYPE = param;
>         } else {
>             throw new java.lang.RuntimeException(
>                 "Input values do not follow defined XSD restrictions");
>         }
>     }
> {code}
> ConverterUtil.convertToStandardDecimalNotation produces a BigDecimal with a toPlainString() value "1000.0", but ConverterUtil.compare(BigInteger, String) contains code:
> {code:java|title=ConverterUtil.java:1344}
> public static long compare(BigInteger binBigInteger, String value) {
>         return binBigInteger.longValue() - Long.parseLong(value);
>     }
> {code}
> which parses second string parameter as a Long, throwing a NumberFormatException



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org