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

commit d3a30c44b770bb51a11ad88cf86abae2ef6d7865
Author: Gary Gregory <[email protected]>
AuthorDate: Sun Jul 10 15:54:36 2022 -0400

    Reuse createMap()
---
 .../dbcp2/datasources/PerUserPoolDataSource.java   | 49 ++++++++++------------
 1 file changed, 23 insertions(+), 26 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java 
b/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java
index f419bbce..e5ce841d 100644
--- 
a/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java
+++ 
b/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java
@@ -62,7 +62,11 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
 
     private static final Log log = 
LogFactory.getLog(PerUserPoolDataSource.class);
 
-    // Per user pool properties
+    private static <K, V> HashMap<K, V> createMap() {
+        // Should there be a default size different than what this ctor 
provides?
+        return new HashMap<>();
+    }
+    
     private Map<String, Boolean> perUserBlockWhenExhausted;
     private Map<String, String> perUserEvictionPolicyClassName;
     private Map<String, Boolean> perUserLifo;
@@ -78,8 +82,6 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     private Map<String, Boolean> perUserTestOnReturn;
     private Map<String, Boolean> perUserTestWhileIdle;
     private Map<String, Duration> perUserDurationBetweenEvictionRuns;
-
-    // Per user connection properties
     private Map<String, Boolean> perUserDefaultAutoCommit;
     private Map<String, Integer> perUserDefaultTransactionIsolation;
     private Map<String, Boolean> perUserDefaultReadOnly;
@@ -87,7 +89,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     /**
      * Map to keep track of Pools for a given user.
      */
-    private transient Map<PoolKey, PooledConnectionManager> managers = new 
HashMap<>();
+    private transient Map<PoolKey, PooledConnectionManager> managers = 
createMap();
 
     /**
      * Default no-arg constructor for Serialization.
@@ -127,7 +129,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
      * Converts a map with Long milliseconds values to another map with 
Duration values.
      */
     private Map<String, Duration> convertMap(final Map<String, Duration> 
currentMap, final Map<String, Long> longMap) {
-        final Map<String, Duration> durationMap = new HashMap<>();
+        final Map<String, Duration> durationMap = createMap();
         longMap.forEach((k, v) -> durationMap.put(k, toDurationOrNull(v)));
         if (currentMap == null) {
             return durationMap;
@@ -138,11 +140,6 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
 
     }
 
-    private HashMap<String, Boolean> createMap() {
-        // Should there be a default size different than what this ctor 
provides?
-        return new HashMap<>();
-    }
-
     @Override
     protected PooledConnectionManager getConnectionManager(final UserPassKey 
upKey) {
         return managers.get(getPoolKey(upKey.getUserName()));
@@ -829,7 +826,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     void setPerUserDefaultTransactionIsolation(final Map<String, Integer> 
userDefaultTransactionIsolation) {
         assertInitializationAllowed();
         if (perUserDefaultTransactionIsolation == null) {
-            perUserDefaultTransactionIsolation = new HashMap<>();
+            perUserDefaultTransactionIsolation = createMap();
         } else {
             perUserDefaultTransactionIsolation.clear();
         }
@@ -848,7 +845,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     public void setPerUserDefaultTransactionIsolation(final String userName, 
final Integer value) {
         assertInitializationAllowed();
         if (perUserDefaultTransactionIsolation == null) {
-            perUserDefaultTransactionIsolation = new HashMap<>();
+            perUserDefaultTransactionIsolation = createMap();
         }
         perUserDefaultTransactionIsolation.put(userName, value);
     }
@@ -871,7 +868,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     public void setPerUserDurationBetweenEvictionRuns(final String userName, 
final Duration value) {
         assertInitializationAllowed();
         if (perUserDurationBetweenEvictionRuns == null) {
-            perUserDurationBetweenEvictionRuns = new HashMap<>();
+            perUserDurationBetweenEvictionRuns = createMap();
         }
         perUserDurationBetweenEvictionRuns.put(userName, value);
     }
@@ -879,7 +876,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     void setPerUserEvictionPolicyClassName(final Map<String, String> 
userDefaultEvictionPolicyClassName) {
         assertInitializationAllowed();
         if (perUserEvictionPolicyClassName == null) {
-            perUserEvictionPolicyClassName = new HashMap<>();
+            perUserEvictionPolicyClassName = createMap();
         } else {
             perUserEvictionPolicyClassName.clear();
         }
@@ -898,7 +895,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     public void setPerUserEvictionPolicyClassName(final String userName, final 
String value) {
         assertInitializationAllowed();
         if (perUserEvictionPolicyClassName == null) {
-            perUserEvictionPolicyClassName = new HashMap<>();
+            perUserEvictionPolicyClassName = createMap();
         }
         perUserEvictionPolicyClassName.put(userName, value);
     }
@@ -932,7 +929,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     void setPerUserMaxIdle(final Map<String, Integer> userDefaultMaxIdle) {
         assertInitializationAllowed();
         if (perUserMaxIdle == null) {
-            perUserMaxIdle = new HashMap<>();
+            perUserMaxIdle = createMap();
         } else {
             perUserMaxIdle.clear();
         }
@@ -950,7 +947,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     public void setPerUserMaxIdle(final String userName, final Integer value) {
         assertInitializationAllowed();
         if (perUserMaxIdle == null) {
-            perUserMaxIdle = new HashMap<>();
+            perUserMaxIdle = createMap();
         }
         perUserMaxIdle.put(userName, value);
     }
@@ -958,7 +955,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     void setPerUserMaxTotal(final Map<String, Integer> userDefaultMaxTotal) {
         assertInitializationAllowed();
         if (perUserMaxTotal == null) {
-            perUserMaxTotal = new HashMap<>();
+            perUserMaxTotal = createMap();
         } else {
             perUserMaxTotal.clear();
         }
@@ -976,7 +973,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     public void setPerUserMaxTotal(final String userName, final Integer value) 
{
         assertInitializationAllowed();
         if (perUserMaxTotal == null) {
-            perUserMaxTotal = new HashMap<>();
+            perUserMaxTotal = createMap();
         }
         perUserMaxTotal.put(userName, value);
     }
@@ -993,7 +990,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     public void setPerUserMaxWait(final String userName, final Duration value) 
{
         assertInitializationAllowed();
         if (perUserMaxWaitDuration == null) {
-            perUserMaxWaitDuration = new HashMap<>();
+            perUserMaxWaitDuration = createMap();
         }
         perUserMaxWaitDuration.put(userName, value);
     }
@@ -1040,7 +1037,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     public void setPerUserMinEvictableIdle(final String userName, final 
Duration value) {
         assertInitializationAllowed();
         if (perUserMinEvictableIdleDuration == null) {
-            perUserMinEvictableIdleDuration = new HashMap<>();
+            perUserMinEvictableIdleDuration = createMap();
         }
         perUserMinEvictableIdleDuration.put(userName, value);
     }
@@ -1063,7 +1060,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     void setPerUserMinIdle(final Map<String, Integer> userDefaultMinIdle) {
         assertInitializationAllowed();
         if (perUserMinIdle == null) {
-            perUserMinIdle = new HashMap<>();
+            perUserMinIdle = createMap();
         } else {
             perUserMinIdle.clear();
         }
@@ -1081,7 +1078,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     public void setPerUserMinIdle(final String userName, final Integer value) {
         assertInitializationAllowed();
         if (perUserMinIdle == null) {
-            perUserMinIdle = new HashMap<>();
+            perUserMinIdle = createMap();
         }
         perUserMinIdle.put(userName, value);
     }
@@ -1089,7 +1086,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     void setPerUserNumTestsPerEvictionRun(final Map<String, Integer> 
userDefaultNumTestsPerEvictionRun) {
         assertInitializationAllowed();
         if (perUserNumTestsPerEvictionRun == null) {
-            perUserNumTestsPerEvictionRun = new HashMap<>();
+            perUserNumTestsPerEvictionRun = createMap();
         } else {
             perUserNumTestsPerEvictionRun.clear();
         }
@@ -1108,7 +1105,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     public void setPerUserNumTestsPerEvictionRun(final String userName, final 
Integer value) {
         assertInitializationAllowed();
         if (perUserNumTestsPerEvictionRun == null) {
-            perUserNumTestsPerEvictionRun = new HashMap<>();
+            perUserNumTestsPerEvictionRun = createMap();
         }
         perUserNumTestsPerEvictionRun.put(userName, value);
     }
@@ -1131,7 +1128,7 @@ public class PerUserPoolDataSource extends 
InstanceKeyDataSource {
     public void setPerUserSoftMinEvictableIdle(final String userName, final 
Duration value) {
         assertInitializationAllowed();
         if (perUserSoftMinEvictableIdleDuration == null) {
-            perUserSoftMinEvictableIdleDuration = new HashMap<>();
+            perUserSoftMinEvictableIdleDuration = createMap();
         }
         perUserSoftMinEvictableIdleDuration.put(userName, value);
     }

Reply via email to