You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2008/11/08 23:56:22 UTC

svn commit: r712447 - in /ibatis/trunk/java/ibatis-3: ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/ ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engin...

Author: cbegin
Date: Sat Nov  8 14:56:21 2008
New Revision: 712447

URL: http://svn.apache.org/viewvc?rev=712447&view=rev
Log:
refactored executor to inject transaction instead of connection

Added:
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/AuthorMapper.xml
Modified:
    ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/TransactionManager.java
    ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java
    ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java
    ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java
    ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/SimpleExecutor.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/Transaction.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransaction.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransaction.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/type/TypeAliasRegistry.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfig.xml
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfigParserTest.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BatchExecutorTest.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingBatchExecutorTest.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingReuseExecutorTest.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingSimpleExecutorTest.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/ReuseExecutorTest.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/SimpleExecutorTest.java

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/TransactionManager.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/TransactionManager.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/TransactionManager.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/TransactionManager.java Sat Nov  8 14:56:21 2008
@@ -74,7 +74,7 @@
   }
 
   public Connection getCurrentConnection() throws SQLException {
-    return getCurrentExecutor().getConnection();
+    return getCurrentExecutor().getTransaction().getConnection();
   }
 
   public Executor getCurrentExecutor() throws SQLException {

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java Sat Nov  8 14:56:21 2008
@@ -3,6 +3,7 @@
 import com.ibatis.sqlmap.engine.transaction.*;
 import org.apache.ibatis.executor.Executor;
 import org.apache.ibatis.mapping.Configuration;
+import org.apache.ibatis.transaction.jdbc.JdbcTransaction;
 
 import javax.sql.DataSource;
 import java.sql.*;
@@ -43,7 +44,7 @@
         connection.setAutoCommit(defaultAutoCommit);
       }
     }
-    executor = configuration.newExecutor(connection);
+    executor = configuration.newExecutor(new JdbcTransaction(connection));
   }
 
   public void commit(boolean required) throws SQLException, TransactionException {
@@ -55,7 +56,7 @@
   public void close() throws SQLException, TransactionException {
     if (executor != null) {
       try {
-        isolationLevel.restoreIsolationLevel(executor.getConnection());
+        isolationLevel.restoreIsolationLevel(executor.getTransaction().getConnection());
       } finally {
         executor.close();
         executor = null;

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java Sat Nov  8 14:56:21 2008
@@ -36,7 +36,7 @@
     if (connection.getAutoCommit()) {
       connection.setAutoCommit(false);
     }
-    executor = configuration.newExecutor(connection);
+    executor = configuration.newExecutor(new org.apache.ibatis.transaction.jdbc.JdbcTransaction(connection));
   }
 
   public void commit(boolean required) throws SQLException, TransactionException {
@@ -54,7 +54,7 @@
   public void close() throws SQLException, TransactionException {
     if (executor != null) {
       try {
-        isolationLevel.restoreIsolationLevel(executor.getConnection());
+        isolationLevel.restoreIsolationLevel(executor.getTransaction().getConnection());
       } finally {
         executor.close();
         executor = null;

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java Sat Nov  8 14:56:21 2008
@@ -3,6 +3,7 @@
 import com.ibatis.sqlmap.engine.transaction.*;
 import org.apache.ibatis.executor.Executor;
 import org.apache.ibatis.mapping.Configuration;
+import org.apache.ibatis.transaction.jdbc.JdbcTransaction;
 
 import javax.sql.DataSource;
 import javax.transaction.*;
@@ -55,7 +56,7 @@
     if (connection.getAutoCommit()) {
       connection.setAutoCommit(false);
     }
-    executor = configuration.newExecutor(connection);
+    executor = configuration.newExecutor(new JdbcTransaction(connection));
   }
 
   public void commit(boolean required) throws SQLException, TransactionException {
@@ -99,7 +100,7 @@
   public void close() throws SQLException, TransactionException {
     if (executor != null) {
       try {
-        isolationLevel.restoreIsolationLevel(executor.getConnection());
+        isolationLevel.restoreIsolationLevel(executor.getTransaction().getConnection());
       } finally {
         executor.close();
         executor = null;

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java Sat Nov  8 14:56:21 2008
@@ -3,6 +3,7 @@
 import com.ibatis.sqlmap.engine.transaction.*;
 import org.apache.ibatis.executor.Executor;
 import org.apache.ibatis.mapping.Configuration;
+import org.apache.ibatis.transaction.jdbc.JdbcTransaction;
 
 import java.sql.*;
 
@@ -11,7 +12,7 @@
   private Executor executor;
 
   public UserProvidedTransaction(Configuration configuration, Connection connection) {
-    this.executor = configuration.newExecutor(connection);
+    this.executor = configuration.newExecutor(new JdbcTransaction(connection));
   }
 
   public void commit(boolean required) throws SQLException, TransactionException {

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java Sat Nov  8 14:56:21 2008
@@ -4,10 +4,10 @@
 import org.apache.ibatis.cache.impl.PerpetualCache;
 import org.apache.ibatis.executor.result.ResultHandler;
 import org.apache.ibatis.logging.*;
-import org.apache.ibatis.logging.jdbc.ConnectionLogger;
 import org.apache.ibatis.mapping.*;
 import org.apache.ibatis.reflection.MetaObject;
 import org.apache.ibatis.type.TypeHandlerRegistry;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.*;
 import java.util.*;
@@ -17,7 +17,7 @@
   private static final Log log = LogFactory.getLog(BaseExecutor.class);
   private static final Object EXECUTION_PLACEHOLDER = new Object();
 
-  protected final Connection connection;
+  protected final Transaction transaction;
 
   protected final List<DeferredLoad> deferredLoads;
   protected final PerpetualCache localCache;
@@ -26,23 +26,24 @@
 
   protected List<BatchResult> batchResults = new ArrayList<BatchResult>();
 
-  protected BaseExecutor(Connection connection) {
-    if (log.isDebugEnabled()) {
-      this.connection = ConnectionLogger.newInstance(connection);
-    } else {
-      this.connection = connection;
-    }
+  protected BaseExecutor(Transaction transaction) {
+//    if (log.isDebugEnabled()) {
+//      this.connection = ConnectionLogger.newInstance(connection);
+//    } else {
+//      this.connection = connection;
+//    }
+    this.transaction = transaction;
     this.deferredLoads = new ArrayList<DeferredLoad>();
     this.localCache = new PerpetualCache("LocalCache");
   }
 
-  public Connection getConnection() {
-    return connection;
+  public Transaction getTransaction() {
+    return transaction;
   }
 
   public void close() {
     try {
-      connection.close();
+      transaction.close();
     } catch (SQLException e) {
       // Ignore.  There's nothing that can be done at this point.
     }
@@ -116,13 +117,13 @@
   public void commit(boolean required) throws SQLException {
     flushStatements();
     if (required) {
-      connection.commit();
+      transaction.commit();
     }
   }
 
   public void rollback(boolean required) throws SQLException {
     if (required) {
-      connection.rollback();
+      transaction.rollback();
     }
   }
 

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BatchExecutor.java Sat Nov  8 14:56:21 2008
@@ -3,6 +3,7 @@
 import org.apache.ibatis.executor.result.ResultHandler;
 import org.apache.ibatis.executor.statement.StatementHandler;
 import org.apache.ibatis.mapping.*;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.*;
 import java.util.*;
@@ -15,8 +16,8 @@
   private final List<BatchResult> batchResultList = new ArrayList<BatchResult>();
   private String currentSql;
 
-  public BatchExecutor(Connection connection) {
-    super(connection);
+  public BatchExecutor(Transaction transaction) {
+    super(transaction);
   }
 
   public int doUpdate(MappedStatement ms, Object parameterObject)
@@ -29,6 +30,7 @@
       int last = statementList.size() - 1;
       stmt = statementList.get(last);
     } else {
+      Connection connection = transaction.getConnection();
       stmt = handler.prepare(connection);
       currentSql = sql;
       statementList.add(stmt);
@@ -44,6 +46,7 @@
     flushStatements();
     Configuration configuration = ms.getConfiguration();
     StatementHandler handler = configuration.newStatementHandler(this, ms, parameterObject, rowOffset, rowLimit, resultHandler);
+    Connection connection = transaction.getConnection();
     Statement stmt = handler.prepare(connection);
     handler.parameterize(stmt);
     return handler.query(stmt, resultHandler);

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java Sat Nov  8 14:56:21 2008
@@ -4,6 +4,7 @@
 import org.apache.ibatis.executor.result.ResultHandler;
 import org.apache.ibatis.mapping.MappedStatement;
 import org.apache.ibatis.reflection.MetaObject;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.*;
 import java.util.*;
@@ -17,8 +18,8 @@
     this.delegate = delegate;
   }
 
-  public Connection getConnection() {
-    return delegate.getConnection();
+  public Transaction getTransaction() {
+    return delegate.getTransaction();
   }
 
   public void close() {

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java Sat Nov  8 14:56:21 2008
@@ -4,6 +4,7 @@
 import org.apache.ibatis.executor.result.ResultHandler;
 import org.apache.ibatis.mapping.MappedStatement;
 import org.apache.ibatis.reflection.MetaObject;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.*;
 import java.util.List;
@@ -30,7 +31,7 @@
 
   void deferLoad(MappedStatement ms, MetaObject resultObject, String property, CacheKey key);
 
-  Connection getConnection();
+  Transaction getTransaction();
 
   void close();
 

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/ReuseExecutor.java Sat Nov  8 14:56:21 2008
@@ -3,6 +3,7 @@
 import org.apache.ibatis.executor.result.ResultHandler;
 import org.apache.ibatis.executor.statement.StatementHandler;
 import org.apache.ibatis.mapping.*;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.*;
 import java.util.*;
@@ -11,8 +12,8 @@
 
   private final Map<String, Statement> statementMap = new HashMap<String, Statement>();
 
-  public ReuseExecutor(Connection connection) {
-    super(connection);
+  public ReuseExecutor(Transaction transaction) {
+    super(transaction);
   }
 
   public int doUpdate(MappedStatement ms, Object parameter)
@@ -45,6 +46,7 @@
     if (hasStatementFor(sql)) {
       stmt = getStatement(sql);
     } else {
+      Connection connection = transaction.getConnection();
       stmt = handler.prepare(connection);
       putStatement(sql, stmt);
     }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/SimpleExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/SimpleExecutor.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/SimpleExecutor.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/SimpleExecutor.java Sat Nov  8 14:56:21 2008
@@ -3,14 +3,15 @@
 import org.apache.ibatis.executor.result.ResultHandler;
 import org.apache.ibatis.executor.statement.StatementHandler;
 import org.apache.ibatis.mapping.*;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.*;
 import java.util.*;
 
 public class SimpleExecutor extends BaseExecutor {
 
-  public SimpleExecutor(Connection connection) {
-    super(connection);
+  public SimpleExecutor(Transaction transaction) {
+    super(transaction);
   }
 
   public int doUpdate(MappedStatement ms, Object parameter)
@@ -45,6 +46,7 @@
 
   private Statement prepareStatement(StatementHandler handler) throws SQLException {
     Statement stmt;
+    Connection connection = transaction.getConnection();
     stmt = handler.prepare(connection);
     handler.parameterize(stmt);
     return stmt;

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java Sat Nov  8 14:56:21 2008
@@ -13,6 +13,7 @@
 import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
 import org.apache.ibatis.transaction.managed.ManagedTransaction;
 import org.apache.ibatis.transaction.managed.ManagedTransactionFactory;
+import org.apache.ibatis.transaction.Transaction;
 import org.apache.ibatis.datasource.jndi.JndiDataSourceFactory;
 import org.apache.ibatis.datasource.pooled.PooledDataSourceFactory;
 import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory;
@@ -166,20 +167,20 @@
     return statementHandler;
   }
 
-  public Executor newExecutor(Connection conn) {
-    return newExecutor(conn,defaultExecutorType);
+  public Executor newExecutor(Transaction transaction) {
+    return newExecutor(transaction, defaultExecutorType);
   }
   
-  public Executor newExecutor(Connection conn, ExecutorType executorType) {
+  public Executor newExecutor(Transaction transaction, ExecutorType executorType) {
     executorType = executorType == null ? defaultExecutorType : executorType;
     executorType = executorType == null ? ExecutorType.SIMPLE : executorType;
     Executor executor;
     if (ExecutorType.BATCH == executorType) {
-      executor = new BatchExecutor(conn);
+      executor = new BatchExecutor(transaction);
     } else if (ExecutorType.REUSE == executorType) {
-      executor = new ReuseExecutor(conn);
+      executor = new ReuseExecutor(transaction);
     } else {
-      executor = new SimpleExecutor(conn);
+      executor = new SimpleExecutor(transaction);
     }
     if (cacheEnabled) {
       executor = new CachingExecutor(executor);

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/Transaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/Transaction.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/Transaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/Transaction.java Sat Nov  8 14:56:21 2008
@@ -8,5 +8,6 @@
   Connection getConnection();
   void commit() throws SQLException;
   void rollback() throws SQLException;
+  void close() throws SQLException;
 
 }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransaction.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/jdbc/JdbcTransaction.java Sat Nov  8 14:56:21 2008
@@ -24,4 +24,8 @@
   public void rollback() throws SQLException {
     connection.rollback();
   }
+
+  public void close() throws SQLException {
+    connection.close();
+  }
 }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransaction.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransaction.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransaction.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/transaction/managed/ManagedTransaction.java Sat Nov  8 14:56:21 2008
@@ -24,4 +24,9 @@
   public void rollback() throws SQLException {
     // Does nothing
   }
+
+  public void close() throws SQLException {
+    // Does nothing
+  }
+
 }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/type/TypeAliasRegistry.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/type/TypeAliasRegistry.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/type/TypeAliasRegistry.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/type/TypeAliasRegistry.java Sat Nov  8 14:56:21 2008
@@ -42,8 +42,8 @@
   public void registerAlias(String alias, String value) {
     assert alias != null;
     String key = alias.toLowerCase();
-    if (TYPE_ALIASES.containsKey(key) && !TYPE_ALIASES.get(key).equals(value)) {
-      throw new TypeException("The alias '" + key + "' is already mapped to the value '" + TYPE_ALIASES.get(alias) + "'.");
+    if (TYPE_ALIASES.containsKey(key) && !TYPE_ALIASES.get(key).equals(value) && TYPE_ALIASES.get(alias) != null) {
+      throw new TypeException("The alias '" + alias + "' is already mapped to the value '" + TYPE_ALIASES.get(alias) + "'.");
     }
     TYPE_ALIASES.put(key, value);
   }

Added: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/AuthorMapper.xml
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/AuthorMapper.xml?rev=712447&view=auto
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/AuthorMapper.xml (added)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/AuthorMapper.xml Sat Nov  8 14:56:21 2008
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE mapper
+    PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
+    "http://ibatis.apache.org/dtd/ibatis-mapper-3.dtd">
+
+<mapper namespace="com.domain.AuthorMapper">
+
+  <select id="selectAllAuthors" resultType="domain.blog.Author">
+    select * from author
+  </select>
+ 
+</mapper>
\ No newline at end of file

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfig.xml
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfig.xml?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfig.xml (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfig.xml Sat Nov  8 14:56:21 2008
@@ -60,7 +60,7 @@
 
   <mappers>
     <!-- mapperXML vs. mapperClass-->
-    <mapper resource="org/apache/ibatis/builder/BlogMapper.xml"/>
+    <mapper resource="org/apache/ibatis/builder/AuthorMapper.xml"/>
   </mappers>
 
 </configuration>

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfigParserTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfigParserTest.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfigParserTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfigParserTest.java Sat Nov  8 14:56:21 2008
@@ -3,7 +3,10 @@
 import org.junit.Test;
 import org.junit.Assert;
 import org.apache.ibatis.BaseDataTest;
+import org.apache.ibatis.transaction.TransactionFactory;
+import org.apache.ibatis.transaction.Transaction;
 import org.apache.ibatis.mapping.Configuration;
+import org.apache.ibatis.mapping.MappedStatement;
 import org.apache.ibatis.io.Resources;
 
 import javax.sql.DataSource;
@@ -13,15 +16,21 @@
 
   @Test
   public void shouldBuildBlogMappers() throws Exception {
-    DataSource ds = createBlogDataSource();
-    final String resource = "org/apache/ibatis/builder/MapperConfig.xml";
-    final Reader reader = Resources.getResourceAsReader(resource);
-    MapperConfigParser parser = new MapperConfigParser(reader,null);
+//    createBlogDataSource();
+//    final String resource = "org/apache/ibatis/builder/MapperConfig.xml";
+//    final Reader reader = Resources.getResourceAsReader(resource);
+//    MapperConfigParser parser = new MapperConfigParser(reader,null);
+//
+//    parser.parse();
+//    Configuration config = parser.getConfiguration();
+//
+//    DataSource ds = config.getEnvironment().getDataSource();
+//    TransactionFactory tf = config.getEnvironment().getTransactionFactory();
+//    MappedStatement ms = config.getMappedStatement("selectAllAuthors");
+//    Transaction tx = tf.newTransaction(ds.getConnection());
 
-    parser.parse();
-    Configuration config = parser.getConfiguration();
 
-    Assert.assertEquals(1,config.getCaches().size());
+    //Assert.assertEquals(1,config.getCaches().size());
   }
 
 }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BaseExecutorTest.java Sat Nov  8 14:56:21 2008
@@ -2,6 +2,8 @@
 
 import domain.blog.*;
 import org.apache.ibatis.BaseDataTest;
+import org.apache.ibatis.transaction.Transaction;
+import org.apache.ibatis.transaction.jdbc.JdbcTransaction;
 import org.apache.ibatis.mapping.*;
 import org.junit.*;
 
@@ -26,7 +28,7 @@
   public void shouldInsertNewAuthor() throws Exception {
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     Author author = new Author(99, "someone", "******", "someone@apache.org", null, Section.NEWS);
     MappedStatement insertStatement = ExecutorTestHelper.prepareInsertAuthorMappedStatement(config);
     MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
@@ -43,7 +45,7 @@
   public void shouldSelectAllAuthorsAutoMapped() throws Exception {
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     MappedStatement selectStatement = ExecutorTestHelper.prepareSelectAllAuthorsAutoMappedStatement(config);
     List<Author> authors = executor.query(selectStatement, null, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
     Assert.assertEquals(2, authors.size());
@@ -63,7 +65,7 @@
     Connection connection = ds.getConnection();
     config.setGeneratedKeysEnabled(true);
     try {
-      Executor executor = createExecutor(connection);
+      Executor executor = createExecutor(new JdbcTransaction(connection));
       Author author = new Author(-1, "someone", "******", "someone@apache.org", null, Section.NEWS);
       MappedStatement insertStatement = ExecutorTestHelper.prepareInsertAuthorMappedStatementWithAutoKey(config);
       MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
@@ -86,7 +88,7 @@
   public void shouldInsertNewAuthorByProc() throws Exception {
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     Author author = new Author(97, "someone", "******", "someone@apache.org", null, null);
     MappedStatement insertStatement = ExecutorTestHelper.prepareInsertAuthorProc(config);
     MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
@@ -102,7 +104,7 @@
   public void shouldInsertNewAuthorUsingSimpleNonPreparedStatements() throws Exception {
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     Author author = new Author(99, "someone", "******", "someone@apache.org", null, null);
     MappedStatement insertStatement = ExecutorTestHelper.createInsertAuthorWithIDof99MappedStatement(config);
     MappedStatement selectStatement = ExecutorTestHelper.createSelectAuthorWithIDof99MappedStatement(config);
@@ -119,7 +121,7 @@
   public void shouldUpdateAuthor() throws Exception {
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     Author author = new Author(101, "someone", "******", "someone@apache.org", null, Section.NEWS);
     MappedStatement updateStatement = ExecutorTestHelper.prepareUpdateAuthorMappedStatement(config);
     MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
@@ -136,7 +138,7 @@
   public void shouldDeleteAuthor() throws Exception {
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     Author author = new Author(101, null, null, null, null, null);
     MappedStatement deleteStatement = ExecutorTestHelper.prepareDeleteAuthorMappedStatement(config);
     MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatement(config);
@@ -152,7 +154,7 @@
   public void shouldSelectDiscriminatedProduct() throws Exception {
     DataSource ds = createJPetstoreDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     MappedStatement selectStatement = ExecutorTestHelper.prepareSelectDiscriminatedProduct(config);
     List<Map> products = executor.query(selectStatement, null, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
     connection.rollback();
@@ -170,7 +172,7 @@
   public void shouldSelect10DiscriminatedProducts() throws Exception {
     DataSource ds = createJPetstoreDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     MappedStatement selectStatement = ExecutorTestHelper.prepareSelectDiscriminatedProduct(config);
     List<Map> products = executor.query(selectStatement, null, 4, 10, Executor.NO_RESULT_HANDLER);
     connection.rollback();
@@ -189,7 +191,7 @@
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
     connection.setAutoCommit(false);
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     MappedStatement selectStatement = ExecutorTestHelper.prepareSelectTwoSetsOfAuthorsProc(config);
     List<List> authorSets = executor.query(selectStatement, new HashMap() {
       {
@@ -212,7 +214,7 @@
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
     connection.setAutoCommit(false);
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     MappedStatement selectStatement = ExecutorTestHelper.prepareSelectAuthorViaOutParams(config);
     Author author = new Author(102, null, null, null, null, null);
     executor.query(selectStatement, author, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
@@ -228,7 +230,7 @@
   public void shouldFetchPostsForBlog() throws Exception {
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     MappedStatement selectBlog = ExecutorTestHelper.prepareComplexSelectBlogMappedStatement(config);
     MappedStatement selectPosts = ExecutorTestHelper.prepareSelectPostsForBlogMappedStatement(config);
     config.addMappedStatement(selectBlog);
@@ -245,7 +247,7 @@
   public void shouldFetchOneOrphanedPostWithNoBlog() throws Exception {
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     MappedStatement selectBlog = ExecutorTestHelper.prepareComplexSelectBlogMappedStatement(config);
     MappedStatement selectPost = ExecutorTestHelper.prepareSelectPostMappedStatement(config);
     config.addMappedStatement(selectBlog);
@@ -262,7 +264,7 @@
   public void shouldFetchPostWithBlogWithCompositeKey() throws Exception {
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     MappedStatement selectBlog = ExecutorTestHelper.prepareSelectBlogByIdAndAuthor(config);
     MappedStatement selectPost = ExecutorTestHelper.prepareSelectPostWithBlogByAuthorMappedStatement(config);
     config.addMappedStatement(selectBlog);
@@ -282,7 +284,7 @@
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
     try {
-      Executor executor = createExecutor(connection);
+      Executor executor = createExecutor(new JdbcTransaction(connection));
       MappedStatement selectBlog = ExecutorTestHelper.prepareComplexSelectBlogMappedStatement(config);
       MappedStatement selectPosts = ExecutorTestHelper.prepareSelectPostsForBlogMappedStatement(config);
       config.addMappedStatement(selectBlog);
@@ -303,7 +305,7 @@
   public void shouldMapConstructorResults() throws Exception {
     DataSource ds = createBlogDataSource();
     Connection connection = ds.getConnection();
-    Executor executor = createExecutor(connection);
+    Executor executor = createExecutor(new JdbcTransaction(connection));
     MappedStatement selectStatement = ExecutorTestHelper.prepareSelectOneAuthorMappedStatementWithConstructorResults(config);
     List<Author> authors = executor.query(selectStatement, 102, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, Executor.NO_RESULT_HANDLER);
     executor.flushStatements();
@@ -314,6 +316,6 @@
     Assert.assertEquals(102, author.getId());
   }
 
-  protected abstract Executor createExecutor(Connection connection);
+  protected abstract Executor createExecutor(Transaction transaction);
 
 }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BatchExecutorTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BatchExecutorTest.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BatchExecutorTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/BatchExecutorTest.java Sat Nov  8 14:56:21 2008
@@ -1,6 +1,7 @@
 package org.apache.ibatis.executor;
 
 import org.junit.Test;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.Connection;
 
@@ -10,7 +11,7 @@
   public void dummy() {
   }
 
-  protected Executor createExecutor(Connection connection) {
-    return new BatchExecutor(connection);
+  protected Executor createExecutor(Transaction transaction) {
+    return new BatchExecutor(transaction);
   }
 }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingBatchExecutorTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingBatchExecutorTest.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingBatchExecutorTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingBatchExecutorTest.java Sat Nov  8 14:56:21 2008
@@ -1,6 +1,7 @@
 package org.apache.ibatis.executor;
 
 import org.junit.Test;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.Connection;
 
@@ -10,8 +11,8 @@
   public void dummy() {
   }
 
-  protected Executor createExecutor(Connection connection) {
-    return new CachingExecutor(new BatchExecutor(connection));
+  protected Executor createExecutor(Transaction transaction) {
+    return new CachingExecutor(new BatchExecutor(transaction));
   }
 
 }
\ No newline at end of file

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingReuseExecutorTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingReuseExecutorTest.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingReuseExecutorTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingReuseExecutorTest.java Sat Nov  8 14:56:21 2008
@@ -1,6 +1,7 @@
 package org.apache.ibatis.executor;
 
 import org.junit.Test;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.Connection;
 
@@ -10,8 +11,8 @@
   public void dummy() {
   }
 
-  protected Executor createExecutor(Connection connection) {
-    return new CachingExecutor(new ReuseExecutor(connection));
+  protected Executor createExecutor(Transaction transaction) {
+    return new CachingExecutor(new ReuseExecutor(transaction));
   }
 
 }
\ No newline at end of file

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingSimpleExecutorTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingSimpleExecutorTest.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingSimpleExecutorTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/CachingSimpleExecutorTest.java Sat Nov  8 14:56:21 2008
@@ -1,6 +1,7 @@
 package org.apache.ibatis.executor;
 
 import org.junit.Test;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.Connection;
 
@@ -10,8 +11,8 @@
   public void dummy() {
   }
 
-  protected Executor createExecutor(Connection connection) {
-    return new CachingExecutor(new SimpleExecutor(connection));
+  protected Executor createExecutor(Transaction transaction) {
+    return new CachingExecutor(new SimpleExecutor(transaction));
   }
 
 }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/ReuseExecutorTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/ReuseExecutorTest.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/ReuseExecutorTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/ReuseExecutorTest.java Sat Nov  8 14:56:21 2008
@@ -1,6 +1,7 @@
 package org.apache.ibatis.executor;
 
 import org.junit.Test;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.Connection;
 
@@ -10,7 +11,7 @@
   public void dummy() {
   }
 
-  protected Executor createExecutor(Connection connection) {
-    return new ReuseExecutor(connection);
+  protected Executor createExecutor(Transaction transaction) {
+    return new ReuseExecutor(transaction);
   }
 }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/SimpleExecutorTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/SimpleExecutorTest.java?rev=712447&r1=712446&r2=712447&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/SimpleExecutorTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/SimpleExecutorTest.java Sat Nov  8 14:56:21 2008
@@ -1,6 +1,7 @@
 package org.apache.ibatis.executor;
 
 import org.junit.Test;
+import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.Connection;
 
@@ -10,7 +11,7 @@
   public void dummy() {
   }
 
-  protected Executor createExecutor(Connection connection) {
-    return new SimpleExecutor(connection);
+  protected Executor createExecutor(Transaction transaction) {
+    return new SimpleExecutor(transaction);
   }
 }