Author: cbegin
Date: Sat Jan 23 22:28:27 2010
New Revision: 902502

URL: http://svn.apache.org/viewvc?rev=902502&view=rev
Log:
implemented ibatis 708 PooledDataSource does not support changing the isolation 
level

Modified:
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledDataSource.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledDataSource.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledDataSource.java?rev=902502&r1=902501&r2=902502&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledDataSource.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledDataSource.java
 Sat Jan 23 22:28:27 2010
@@ -100,6 +100,12 @@
     forceCloseAll();
   }
 
+  public void setDefaultTransactionIsolationLevel(Integer 
defaultTransactionIsolationLevel) {
+    
dataSource.setDefaultTransactionIsolationLevel(defaultTransactionIsolationLevel);
+    forceCloseAll();
+  }
+
+
   public void setDriverProperties(Properties driverProps) {
     dataSource.setDriverProperties(driverProps);
     forceCloseAll();
@@ -197,6 +203,10 @@
     return dataSource.isAutoCommit();
   }
 
+  public Integer getDefaultTransactionIsolationLevel() {
+    return dataSource.getDefaultTransactionIsolationLevel();
+  }
+
   public Properties getDriverProperties() {
     return dataSource.getDriverProperties();
   }

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java?rev=902502&r1=902501&r2=902502&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java
 Sat Jan 23 22:28:27 2010
@@ -20,6 +20,7 @@
   private String password;
 
   private boolean autoCommit;
+  private Integer defaultTransactionIsolationLevel;
 
   public UnpooledDataSource() {
   }
@@ -62,14 +63,14 @@
     } else {
       connection = DriverManager.getConnection(url, username, password);
     }
-    configureAutoCommit(connection);
+    configureConnection(connection);
     return connection;
   }
 
   public Connection getConnection(String username, String password) throws 
SQLException {
     initializeDriver();
     Connection connection = DriverManager.getConnection(url, username, 
password);
-    configureAutoCommit(connection);
+    configureConnection(connection);
     return connection;
   }
 
@@ -146,10 +147,21 @@
     this.autoCommit = autoCommit;
   }
 
-  private void configureAutoCommit(Connection conn) throws SQLException {
+  public Integer getDefaultTransactionIsolationLevel() {
+    return defaultTransactionIsolationLevel;
+  }
+
+  public void setDefaultTransactionIsolationLevel(Integer 
defaultTransactionIsolationLevel) {
+    this.defaultTransactionIsolationLevel = defaultTransactionIsolationLevel;
+  }
+
+  private void configureConnection(Connection conn) throws SQLException {
     if (autoCommit != conn.getAutoCommit()) {
       conn.setAutoCommit(autoCommit);
     }
+    if (defaultTransactionIsolationLevel != null) {
+      conn.setTransactionIsolation(defaultTransactionIsolationLevel);
+    }
   }
 
   private synchronized void initializeDriver() {


Reply via email to