This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbcp.git
The following commit(s) were added to refs/heads/master by this push:
new b137fda Avoid NPE when calling DriverAdapterCPDS.toString() (#31)
b137fda is described below
commit b137fda65be70c4431a7a09ca379e40a300760e1
Author: Sergey Chupov <[email protected]>
AuthorDate: Thu May 9 03:32:55 2019 +0300
Avoid NPE when calling DriverAdapterCPDS.toString() (#31)
* Add test for DriverAdapterCPDS.toString()
It currently fails when connectionProperties are null
* Do not access connectionProperties when it's null
---
.../apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java | 2 +-
.../commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git
a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
index a1f7e41..e80d69c 100644
--- a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
+++ b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
@@ -765,7 +765,7 @@ public class DriverAdapterCPDS implements
ConnectionPoolDataSource, Referenceabl
builder.append(", connectionProperties=");
Properties tmpProps = connectionProperties;
final String pwdKey = "password";
- if (connectionProperties.contains(pwdKey)) {
+ if (connectionProperties != null &&
connectionProperties.contains(pwdKey)) {
tmpProps = (Properties) connectionProperties.clone();
tmpProps.remove(pwdKey);
}
diff --git
a/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
b/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
index 35d12c7..ab0a4dd 100644
---
a/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
+++
b/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
@@ -367,4 +367,16 @@ public class TestDriverAdapterCPDS {
final Object o = pcds.getObjectInstance(ref, null, null, null);
assertEquals(pcds.getDescription(), ((DriverAdapterCPDS)
o).getDescription());
}
+
+ @Test
+ public void testToStringWithoutConnectionProperties() throws
ClassNotFoundException
+ {
+ final DriverAdapterCPDS cleanCpds = new DriverAdapterCPDS();
+ cleanCpds.setDriver( "org.apache.commons.dbcp2.TesterDriver" );
+ cleanCpds.setUrl( "jdbc:apache:commons:testdriver" );
+ cleanCpds.setUser( "foo" );
+ cleanCpds.setPassword( "bar" );
+
+ cleanCpds.toString();
+ }
}