[jira] [Resolved] (JS2-1329) Number ClassCastException on Oracle

"Randy Watler (JIRA)" <[email protected]>
Newsgroups gmane.comp.jakarta.jetspeed.devel
Message-ID <[email protected]>
     [ https://issues.apache.org/jira/browse/JS2-1329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Randy Watler resolved JS2-1329.
-------------------------------
    Resolution: Fixed

OJB requires ids to be typed as BIGINT/long in queries.

> Number ClassCastException on Oracle 
> ------------------------------------
>
>                 Key: JS2-1329
>                 URL: https://issues.apache.org/jira/browse/JS2-1329
>             Project: Jetspeed 2
>          Issue Type: Bug
>          Components: Components:PersistenceStore
>    Affects Versions: 2.3.0
>         Environment: Windows 7, Tomcat 7.0.56, Java 1.8.0_25, Oracle 10.2.0.1.0
>            Reporter: Martin Maidhof
>            Assignee: Randy Watler
>             Fix For: 2.3.0
>
>         Attachments: ClassCastException.txt, JetspeedSecurityPersistenceManager.java.patch
>
>
> In the JetspeedSecurityPersistenceManager there are casts to Integer (IDs from database) which won't work on Oracle. Oracle returns BigDecimal for NUMBER columns causing the attached ClassCastException.
> This takes place e.g. when RoleManagerImpl.isUserInRole is called.
> The problem is explained here:
> http://stackoverflow.com/questions/1419109/resultsetmetadata-returning-bigdecimal-insted-of-int
> http://docs.oracle.com/cd/B14117_01/java.101/b10979/datacc.htm
> I patched the JetspeedSecurityPersistenceManager see attachment which fulfills our needs. I don't know whether there are other wrong casts for Oracle.
> The problem occured with commit 1678139 from JS2-1324.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.