Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-5342

Generated code for xsd:totalDigits cause errors

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.2
    • Fix Version/s: 1.6.3, 1.7.0
    • Component/s: adb, codegen
    • Labels:
      None

      Description

      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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                azgard Conny Krey├čel
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: