[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-dev
Subject:    [jira] [Comment Edited] (AXIS2-5342) Generated code for xsd:totalDigits cause errors
From:       "Bill Minglei Zhang (JIRA)" <jira () apache ! org>
Date:       2013-11-06 0:50:18
Message-ID: JIRA.12560630.1339675076917.25397.1383699018650 () arcas
[Download RAW message or body]


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

Bill Minglei Zhang edited comment on AXIS2-5342 at 11/6/13 12:48 AM:
---------------------------------------------------------------------

The following code was generated using axis2-1.6.2,  it's *.compare(param, \
totalDigitsDecimal) > 0*, should be *<*, correct? {code:java}
    public void setDecimal154(java.math.BigDecimal param) {

        java.lang.String totalDigitsDecimal = \
                org.apache.axis2.databinding.utils.ConverterUtil
                .convertToStandardDecimalNotation("15").toString();
        if (org.apache.axis2.databinding.utils.ConverterUtil.compare(param, \
totalDigitsDecimal) > 0) {  this.localDecimal154 = param;
        } else {
            throw new java.lang.RuntimeException();
        }

    }
{code}

{code:xml}<xs:simpleType name="decimal-15-4">
	<xs:restriction base="xs:decimal">
		<xs:fractionDigits value="4" />
		<xs:totalDigits value="15" />
	</xs:restriction>
</xs:simpleType>{code}


was (Author: autoaim800):
The following code was generated using axis2-1.6.2,  it's *.compare(param, \
totalDigitsDecimal) > 0*, should be *<*, correct? {code:java}
    public void setDecimal154(java.math.BigDecimal param) {

        java.lang.String totalDigitsDecimal = \
                org.apache.axis2.databinding.utils.ConverterUtil
                .convertToStandardDecimalNotation("15").toString();
        if (org.apache.axis2.databinding.utils.ConverterUtil.compare(param, \
totalDigitsDecimal) > 0) {  this.localDecimal154 = param;
        } else {
            throw new java.lang.RuntimeException();
        }

    }
{code}

> 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
> Fix For: 1.7.0, 1.6.3
> 
> 
> 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 was sent by Atlassian JIRA
(v6.1#6144)

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic