DelegatingStatement class has incomplete isWrapperFor method
------------------------------------------------------------

                 Key: DBCP-347
                 URL: https://issues.apache.org/jira/browse/DBCP-347
             Project: Commons Dbcp
          Issue Type: Bug
         Environment: Windows 7. java version "1.6.0_21". Dell Latitude E6410.
            Reporter: Robert Poskrobek


Currently org.apache.commons.dbcp.DelegatingStatement#isWrapperFor checks only 
if:

1. Requested class is assignable from the DelegatingStatement instance:        
iface.isAssignableFrom(getClass())
2. Wrapped object is a wrapper for the requested class:            
_stmt.isWrapperFor(iface)

I think there should be another option checked i.e. requested class is 
assignable from the wrapped object's class. For example:   
iface.isAssignableFrom(_stmt.getClass())
This is especially that in fact unwrap method properly assumes this possiblity 
i.e.:     return iface.cast(_stmt);

The whole method should be:

    public boolean isWrapperFor(Class<?> iface) throws SQLException {
        return iface.isAssignableFrom(getClass()) || 
iface.isAssignableFrom(_stmt.getClass()) || _stmt.isWrapperFor(iface);
    }

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

Reply via email to