[
https://issues.apache.org/jira/browse/DBCP-358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phil Steitz closed DBCP-358.
----------------------------
> Equals implementations in DelegatingXxx classes are not symmetric
> -----------------------------------------------------------------
>
> Key: DBCP-358
> URL: https://issues.apache.org/jira/browse/DBCP-358
> Project: Commons Dbcp
> Issue Type: Bug
> Affects Versions: 1.2, 1.2.2, 1.3, 1.4
> Reporter: Phil Steitz
> Fix For: 2.0
>
>
> For reasons unclear to me, DelegatingConnection, DelegatingStatement,
> PoolGuardConnectionWrappers and other DBCP classes implement equals so that
> the wrapping class is considered equal to its innermost delegate JDBC object.
> This makes equals asymmetric when applied to a wrapper and its wrapped JDBC
> object - wrapper.equals(delegate) returns true, but delegate.equals(wrapper)
> will in general return false.
> I am pretty sure that DBCP itself does not rely on this bugged behavior, so I
> am inclined to fix it, making equals an equivalence relation on wrapper
> instances, with two considered equal iff their innermost delegates are equal.
> I can't imagine use cases where the bugged behavior is required. Can anyone
> else?
--
This message was sent by Atlassian JIRA
(v6.2#6252)