Author: rmannibucau
Date: Thu Jan  3 14:18:46 2013
New Revision: 1428356

URL: http://svn.apache.org/viewvc?rev=1428356&view=rev
Log:
TOMEE-697 ensure a user and password are passed to tomcat-jdbc

Modified:
    
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java

Modified: 
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java?rev=1428356&r1=1428355&r2=1428356&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java
 Thu Jan  3 14:18:46 2013
@@ -134,18 +134,22 @@ public class TomEEDataSourceCreator exte
         for (Map.Entry<Object, Object> entry : properties.entrySet()) {
             final String key = entry.getKey().toString();
             final String value = entry.getValue().toString().trim();
-            if (!value.isEmpty() && !converted.containsKey(key)) {
-                if ("MaxOpenPreparedStatements".equalsIgnoreCase(key) || 
"PoolPreparedStatements".equalsIgnoreCase(key)) {
-                    String interceptors = 
properties.getProperty("jdbcInterceptors");
-                    if (interceptors == null || 
!interceptors.contains("StatementCache")) {
-                        converted.setProperty("jdbcInterceptors",
-                                "StatementCache(max=" + 
properties.getProperty("MaxOpenPreparedStatements", "128") + ")");
-                        LOGGER.debug("Tomcat-jdbc StatementCache added to 
handle prepared statement cache/pool");
+            if (!converted.containsKey(key)) {
+                if (!value.isEmpty()) {
+                    if ("MaxOpenPreparedStatements".equalsIgnoreCase(key) || 
"PoolPreparedStatements".equalsIgnoreCase(key)) {
+                        String interceptors = 
properties.getProperty("jdbcInterceptors");
+                        if (interceptors == null || 
!interceptors.contains("StatementCache")) {
+                            converted.setProperty("jdbcInterceptors",
+                                    "StatementCache(max=" + 
properties.getProperty("MaxOpenPreparedStatements", "128") + ")");
+                            LOGGER.debug("Tomcat-jdbc StatementCache added to 
handle prepared statement cache/pool");
+                        }
+                        continue;
                     }
-                    continue;
-                }
 
-                converted.put(Strings.lcfirst(key), value);
+                    converted.put(Strings.lcfirst(key), value);
+                } else if (key.toLowerCase().equals("username") || 
key.toLowerCase().equals("password")) { // avoid NPE
+                    converted.put(Strings.lcfirst(key), "");
+                }
             }
         }
 


Reply via email to