[
https://issues.apache.org/jira/browse/OPENJPA-2690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Struberg resolved OPENJPA-2690.
------------------------------------
Resolution: Fixed
Assignee: Christian Schneider
Christian, I think this can be closed, right?
Matt, thanks for the report!
> Update OSGi Import-Package to support Oracle CLOB/BLOB
> ------------------------------------------------------
>
> Key: OPENJPA-2690
> URL: https://issues.apache.org/jira/browse/OPENJPA-2690
> Project: OpenJPA
> Issue Type: Bug
> Affects Versions: 2.4.2
> Reporter: Matt Pavlovich
> Assignee: Christian Schneider
> Priority: Major
> Fix For: 2.4.3
>
> Attachments: OPENJPA-2691.patch
>
>
> When openjpa is running in an OSGi environment (Karaf 2.4.0) and all packages
> not being imported properly may result in the oracleClob_empty_lob_Method
> being set to null, a NPE will occur when trying to persist an entity with a
> NULL CLOB column.
> getEmptyClob() (and probably getEmtpyBlob as well) should detect for
> oracleClob_empty_lob_Method being set to NULL before attempting to invoke the
> method, or just return the EMPTY_CLOB constant.
> {noformat}
> private Clob getEmptyClob()
> throws SQLException {
> if (EMPTY_CLOB != null)
> return EMPTY_CLOB;
> try {
> return EMPTY_CLOB = (Clob)
> oracleClob_empty_lob_Method.invoke(null, new Object[0]);
> } catch (Exception e) {
> throw new SQLException(e.getMessage());
> }
> }
> {noformat}
> Reference:
> During constructor of OracleDictionary.. this may return null:
> {noformat}
> private Method getMethodByReflection(String className, String methodName,
> Class<?>... paramTypes) {
> try {
> return Class.forName(className,true,
> AccessController.doPrivileged(J2DoPrivHelper
> .getContextClassLoaderAction())).
> getMethod(methodName, paramTypes);
> }
> catch (Exception e) {
> // all fine
> }
> return null;
> }
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)