commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <>
Subject [jira] [Commented] (CONFIGURATION-533) Can DatabaseConfiguration turn CLOB values into a Strings before returning from getProperty(String)?
Date Tue, 09 Apr 2013 20:04:15 GMT


Oliver Heger commented on CONFIGURATION-533:

A fix was committed in revision 1466200. There is now a new protected method {{extractPropertyValue()}}
which is called by {{getProperty()}} to read the property value from the result set. Here
the CLOB conversion is done.

I only added a unit test based on mock objects. Can you verify whether this approach works
with real database objects?
> Can DatabaseConfiguration turn CLOB values into a Strings before returning from getProperty(String)?
> ----------------------------------------------------------------------------------------------------
>                 Key: CONFIGURATION-533
>                 URL:
>             Project: Commons Configuration
>          Issue Type: Improvement
>          Components: Type conversion
>    Affects Versions: 1.9
>         Environment: Oracle 11gR2 database and JDBC driver
>            Reporter: Chris Seieroe
>            Assignee: Oliver Heger
>            Priority: Minor
> The table I'm using for DatabaseConfiguration stores the value in a CLOB column. When
the getProperty(String) method searches the table to get the values, the Oracle JDBC driver
is returning them back as oracle.sql.CLOB instances.
> I also use Microsoft SQL Server and its latest JDBC drivers on a similar table where
the value is in a TEXT column. I know, I need to switch the column type since it's being deprecated,
but that's what it is for now. Anyways, when I get a value from that table, it returns back
a String instances.
> I'm not asking us to support the Oracle-specific class, but perhaps we can add some support
for the java.sql.Clob interface. Can we modify the getProperty(String) method to turn those
into Strings? When they're java.sql.Clob instances, I cannot use all the nice methods that
do type conversion since they don't know what to do with a java.sql.Clob instance.
> Here is a code sample that might be helpful:
> private String convertClob(Clob clobValue) {
>     String strValue = null;
>     try {
>         int length = (int) clobValue.length();
>         if (length > 0) {
>             strValue = clobValue.getSubString(1, length);
>         } else {
>             strValue = "";
>         }
>     } catch (SQLException e) {
>         throw new ConversionException(e);
>     }
>     return strValue;
> }

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message