You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ps...@apache.org on 2007/09/29 21:07:28 UTC
svn commit: r580626 - in /commons/proper/dbcp/trunk/src:
java/org/apache/commons/dbcp/DelegatingConnection.java
test/org/apache/commons/dbcp/TestDelegatingConnection.java
Author: psteitz
Date: Sat Sep 29 12:07:27 2007
New Revision: 580626
URL: http://svn.apache.org/viewvc?rev=580626&view=rev
Log:
Completed fix for DBCP-241. Guard RTE in delegate toString.
JIRA: DBCP-241
Modified:
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingConnection.java
commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestDelegatingConnection.java
Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingConnection.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingConnection.java?rev=580626&r1=580625&r2=580626&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingConnection.java (original)
+++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingConnection.java Sat Sep 29 12:07:27 2007
@@ -359,8 +359,14 @@
protected void checkOpen() throws SQLException {
if(_closed) {
if (null != _conn) {
+ String label = "";
+ try {
+ label = _conn.toString();
+ } catch (Exception ex) {
+ // ignore, leave label empty
+ }
throw new SQLException
- ("Connection " + _conn + " is closed.");
+ ("Connection " + label + " is closed.");
} else {
throw new SQLException
("Connection is null.");
Modified: commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestDelegatingConnection.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestDelegatingConnection.java?rev=580626&r1=580625&r2=580626&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestDelegatingConnection.java (original)
+++ commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestDelegatingConnection.java Sat Sep 29 12:07:27 2007
@@ -125,6 +125,29 @@
fail("Expecting SQLException");
} catch (SQLException ex) {
assertTrue(ex.getMessage().endsWith("invalid PoolingConnection."));
- }
+ }
+
+ try {
+ conn = new DelegatingConnection(new RTEGeneratingConnection());
+ conn.close();
+ conn.checkOpen();
+ fail("Expecting SQLException");
+ } catch (SQLException ex) {
+ assertTrue(ex.getMessage().endsWith("is closed."));
+ }
+ }
+
+ /**
+ * Delegate that will throw RTE on toString
+ * Used to validate fix for DBCP-241
+ */
+ class RTEGeneratingConnection extends TesterConnection {
+ public RTEGeneratingConnection() {
+ super("","");
+ }
+ public String toString() {
+ throw new RuntimeException("bang!");
+ }
+
}
}