Claude Warren created JENA-1514: ----------------------------------- Summary: Class cast exception with BigInteger literals. Key: JENA-1514 URL: https://issues.apache.org/jira/browse/JENA-1514 Project: Apache Jena Issue Type: Bug Components: Jena Affects Versions: Jena 3.6.0, Jena 3.7.0 Reporter: Claude Warren Attachments: BigIntIssue.java
When saving a BigInteger as a literal it is converted into an XSDBaseNumericType. When that type is read back it is converted into the smallest numeric data type that can hold the value; a narrowing if you will. While this works fine for primitive and primitive wrapping types (e.g. int and Integer) there is no automatic boxing available for BigInteger so attempting to retrieve the value of a BigInteger that is smaller than the Long.MAX_VALUE will result in a class cast exception when the primitive type is cast to the BigInteger. I suspect the similar issues arise when BigDecimal is also used but I have not tested. Should we address this issue by creating a BigInteger and BigDecimal type that perhaps extends XSDBaseNumericType? Should we address this issue at all and just post a warning? Test code is included to show the issue. -- This message was sent by Atlassian JIRA (v7.6.3#76005)