Conny Kreyßel created AXIS2-5342:
------------------------------------
Summary: Generated code for xsd:totalDigits cause errors
Key: AXIS2-5342
URL: https://issues.apache.org/jira/browse/AXIS2-5342
Project: Axis2
Issue Type: Bug
Components: adb, codegen
Affects Versions: 1.6.2
Reporter: Conny Kreyßel
If you have a element like
<xsd:simpleType name="abc">
<xsd:restriction base="xsd:integer">
<xsd:totalDigits value="5" />
</xsd:restriction>
</xsd:simpleType>
axis generates this as source code
public void setAbc(java.math.BigInteger param){
java.lang.String totalDigitsDecimal =
org.apache.axis2.databinding.utils.ConverterUtil.convertToStandardDecimalNotation("5").toString();
if (org.apache.axis2.databinding.utils.ConverterUtil.compare(param,
totalDigitsDecimal) > 0){
this.localHerkunftsschluessel=param;
}
else {
throw new java.lang.RuntimeException();
}
}
The problem is the toString() of the result from
.convertToStandardDecimalNotation("5"). It converts the a BigDecimal into
String and this results in "10000.0". Then ConverterUtil.compare() trys to
convert this string into a Long. BANG.
Please change convertToStandardDecimalNotation().toString() into
convertToStandardDecimalNotation().toPlainString().
The same functionality should be evaluated for xsd:int, xsd:float, xsd:decimal
...
IMHO, this results from a bad implementation of AXIS2-4190. Please add
testcases for this.
Take a look at the following comment and below.
https://issues.apache.org/jira/browse/AXIS2-4190?focusedCommentId=13285198&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13285198
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]