commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dan Fabulich (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DBUTILS-61) Backwards binary compatibility broken in KeyedHandler
Date Tue, 03 Nov 2009 19:52:32 GMT

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

Dan Fabulich commented on DBUTILS-61:
-------------------------------------

It seems that KeyedHandler was only a map of maps by convention; it was really a KeyedHandler<K,V>
implements ResultSetHandler<Map<K,V>>.

But there's no way to implement that API concretely!  So I think the best thing is just to
create an explicit AbstractKeyedHandler<K,V> implements ResultSetHandler<Map<K,V>>,
so KeyedHandler extends AbstractKeyedHandler<Object, Map<String, Object>>.  This
will also fix binary compatibility, as the compiler will append a #createRow method that returns
Object.

> Backwards binary compatibility broken in KeyedHandler
> -----------------------------------------------------
>
>                 Key: DBUTILS-61
>                 URL: https://issues.apache.org/jira/browse/DBUTILS-61
>             Project: Commons DbUtils
>          Issue Type: Bug
>            Reporter: Dan Fabulich
>             Fix For: 1.3
>
>
> In revision r832220 KeyedHandler's API was modified.  KeyedHandler#createRow used to
be able to return any object, but now can only return a Map (and a map of Strings to Objects,
at that).
> clirr reports this as a binary backwards compatibility error; even "correct" subclasses
of KeyedHandler that attempt to override createRow will find that we ignore the subclass implementation
and simply invoke KeyedHandler#createRow instead.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message