On 31 October 2013 15:26, Mark Thomas <ma...@apache.org> wrote: > On 31/10/2013 15:13, s...@apache.org wrote: >> Author: sebb >> Date: Thu Oct 31 15:13:47 2013 >> New Revision: 1537525 >> >> URL: http://svn.apache.org/r1537525 >> Log: >> Document that CCE is handled OK; there is no "unchecked" warning happening >> here > > Why did you make this change? It undoes a recent commit that fixed a > handful of type safety warnings.
I don't see any warnings when building with Java 7 or Eclipse. AFAICT these are now just class casts that can fail with CCE. If necessary it can be reverted. In which case need to document why the annotatiions are needed and why they are OK to use (i.e. in this case the CCE is expected and handled). > Mark > > >> Modified: >> >> commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/BasicDataSource.java >> >> Modified: >> commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/BasicDataSource.java >> URL: >> http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/BasicDataSource.java?rev=1537525&r1=1537524&r2=1537525&view=diff >> ============================================================================== >> --- >> commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/BasicDataSource.java >> (original) >> +++ >> commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/BasicDataSource.java >> Thu Oct 31 15:13:47 2013 >> @@ -1743,23 +1743,18 @@ public class BasicDataSource implements >> try { >> try { >> if (driverClassLoader == null) { >> - @SuppressWarnings("unchecked") >> - Class<Driver> c = >> - (Class<Driver>) >> Class.forName(driverClassName); >> - driverFromCCL = c; >> + driverFromCCL = (Class<Driver>) >> Class.forName(driverClassName); >> } else { >> - @SuppressWarnings("unchecked") >> - Class<Driver> c = (Class<Driver>) Class.forName( >> + driverFromCCL = (Class<Driver>) Class.forName( >> driverClassName, true, >> driverClassLoader); >> - driverFromCCL = c; >> } >> } catch (ClassNotFoundException cnfe) { >> - @SuppressWarnings("unchecked") >> - Class<Driver> c = (Class<Driver>) >> Thread.currentThread( >> + driverFromCCL = (Class<Driver>) >> Thread.currentThread( >> ).getContextClassLoader().loadClass( >> driverClassName); >> - driverFromCCL = c; >> } >> + // N.B. the casts above may cause ClassCastException >> if classname is not correct >> + // This is caught below >> } catch (Exception t) { >> String message = "Cannot load JDBC driver class '" + >> driverClassName + "'"; >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org