Author: rmannibucau
Date: Thu Sep 13 11:37:59 2012
New Revision: 1384283

URL: http://svn.apache.org/viewvc?rev=1384283&view=rev
Log:
managing Duration

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=1384283&r1=1384282&r2=1384283&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 Sep 13 11:37:59 2012
@@ -23,6 +23,7 @@ import org.apache.openejb.monitoring.Obj
 import org.apache.openejb.resource.jdbc.BasicDataSourceUtil;
 import org.apache.openejb.resource.jdbc.plugin.DataSourcePlugin;
 import org.apache.openejb.resource.jdbc.pool.PoolDataSourceCreator;
+import org.apache.openejb.util.Duration;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 import org.apache.openejb.util.Strings;
@@ -43,6 +44,7 @@ import java.sql.Connection;
 import java.sql.SQLException;
 import java.util.Map;
 import java.util.Properties;
+import java.util.concurrent.TimeUnit;
 
 public class TomEEDataSourceCreator extends PoolDataSourceCreator {
     private static final Logger LOGGER = 
Logger.getInstance(LogCategory.OPENEJB, TomEEDataSourceCreator.class);
@@ -50,7 +52,9 @@ public class TomEEDataSourceCreator exte
     @Override
     public DataSource pool(final String name, final DataSource ds, Properties 
properties) {
         final Properties converted = new Properties();
-        updateProperties(new 
SuperProperties(properties).caseInsensitive(true), converted, null);
+        final SuperProperties prop = new 
SuperProperties().caseInsensitive(true);
+        prop.putAll(properties);
+        updateProperties(prop, converted, null);
 
         final PoolConfiguration config = build(PoolProperties.class, 
converted);
         config.setDataSource(ds);
@@ -67,7 +71,11 @@ public class TomEEDataSourceCreator exte
     public DataSource pool(final String name, final String driver, final 
Properties properties) {
         final Properties converted = new Properties();
         converted.setProperty("name", name);
-        updateProperties(new 
SuperProperties(properties).caseInsensitive(true), converted, driver);
+
+        final SuperProperties prop = new 
SuperProperties().caseInsensitive(true);
+        prop.putAll(properties);
+
+        updateProperties(prop, converted, driver);
         final PoolConfiguration config = build(PoolProperties.class, 
converted);
         return build(TomEEDataSource.class, new TomEEDataSource(config, name), 
converted);
     }
@@ -78,25 +86,22 @@ public class TomEEDataSourceCreator exte
             converted.setProperty("driverClassName", driver);
         }
         if (properties.containsKey("JdbcDriver")) {
-            converted.setProperty("driverClassName", (String) 
properties.get("JdbcDriver"));
+            converted.setProperty("driverClassName", (String) 
properties.remove("JdbcDriver"));
         }
         if (properties.containsKey("JdbcUrl")) {
-            converted.setProperty("url", (String) properties.get("JdbcUrl"));
-        }
-        if (properties.containsKey("user")) {
-            converted.setProperty("username", (String) properties.get("user"));
+            converted.setProperty("url", (String) 
properties.remove("JdbcUrl"));
         }
         if (properties.containsKey("user")) {
-            converted.setProperty("username", (String) properties.get("user"));
+            converted.setProperty("username", (String) 
properties.remove("user"));
         }
         if (properties.containsKey("maxWaitTime")) {
-            converted.setProperty("maxWait", (String) 
properties.get("maxWaitTime"));
+            converted.setProperty("maxWait", toMillis((String) 
properties.remove("maxWaitTime")));
         }
         if (properties.containsKey("timeBetweenEvictionRuns")) {
-            converted.setProperty("timeBetweenEvictionRunsMillis", (String) 
properties.get("timeBetweenEvictionRuns"));
+            converted.setProperty("timeBetweenEvictionRunsMillis", 
toMillis((String) properties.remove("timeBetweenEvictionRuns")));
         }
         if (properties.containsKey("minEvictableIdleTime")) {
-            converted.setProperty("minEvictableIdleTimeMillis", (String) 
properties.get("minEvictableIdleTime"));
+            converted.setProperty("minEvictableIdleTimeMillis", 
toMillis((String) properties.remove("minEvictableIdleTime")));
         }
         for (Map.Entry<Object, Object> entry : properties.entrySet()) {
             final String key = entry.getKey().toString();
@@ -135,6 +140,10 @@ public class TomEEDataSourceCreator exte
         }
     }
 
+    private String toMillis(final String d) {
+        return Long.toString(new Duration(d).getTime(TimeUnit.MILLISECONDS));
+    }
+
     @Override
     public void doDestroy(final DataSource object) throws Throwable {
         org.apache.tomcat.jdbc.pool.DataSource ds = 
(org.apache.tomcat.jdbc.pool.DataSource) object;


Reply via email to