commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Osipov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DBUTILS-113) Add support for conversion of ResultSet strings to enums in the BeanProcessor
Date Wed, 13 Nov 2013 10:53:31 GMT

    [ https://issues.apache.org/jira/browse/DBUTILS-113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13821184#comment-13821184
] 

Michael Osipov commented on DBUTILS-113:
----------------------------------------

Looks better than but I do think still can be done better:

1. Line 94 and 95 can be collapsed
2. You do not need reflection because DbUtils 1.6 is set to Java 1.6, you simply could cast
{{params[0]}} to Enum and call the static {{valueOf}} method. Catch blocks for {{NoSuchMethodException}}
and {{SecurityException}} would be obsolete.

> Add support for conversion of ResultSet strings to enums in the BeanProcessor
> -----------------------------------------------------------------------------
>
>                 Key: DBUTILS-113
>                 URL: https://issues.apache.org/jira/browse/DBUTILS-113
>             Project: Commons DbUtils
>          Issue Type: Improvement
>            Reporter: Graylin Kim
>            Priority: Minor
>              Labels: patch
>         Attachments: bean_enums.diff, bean_enums2.diff
>
>
> When using commons-dbutils I frequently use enum values with corresponding enum in the
database. In this situation, using the BeanListHandler produces the following exception causing
me to write a custom bean handler for enum conversion.
> {quote}
> Cannot set status: incompatible types, cannot convert java.lang.String to gov.nysenate.openleg.util.Storage$Status
Query: SELECT * FROM changelog WHERE 1=1 AND time >= ? AND time <= ? Parameters: [2013-07-24
00:00:00, 2013-07-26 23:59:59]
> java.sql.SQLException: Cannot set status: incompatible types, cannot convert java.lang.String
to gov.nysenate.openleg.util.Storage$Status Query: SELECT * FROM changelog WHERE 1=1 AND time
>= ? AND time <= ? Parameters: [2013-07-24 00:00:00, 2013-07-26 23:59:59]
> 	at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:363)
> 	at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:350)
> 	at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:288)
> {quote}
> It seems to me that commons-dbutils should be able to handle this conversion.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message