Author: cbegin
Date: Sun Apr  5 21:31:51 2009
New Revision: 762164

URL: http://svn.apache.org/viewvc?rev=762164&view=rev
Log:
eliminated some duplicate state in the statement handlers

Modified:
    
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/ReuseExecutor.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/StatementHandler.java

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=762164&r1=762163&r2=762164&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
 Sun Apr  5 21:31:51 2009
@@ -2,8 +2,7 @@
 
 import org.apache.ibatis.executor.result.ResultHandler;
 import org.apache.ibatis.executor.statement.StatementHandler;
-import org.apache.ibatis.mapping.Configuration;
-import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.*;
 import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.BatchUpdateException;
@@ -29,7 +28,8 @@
       throws SQLException {
     Configuration configuration = ms.getConfiguration();
     StatementHandler handler = configuration.newStatementHandler(this, ms, 
parameterObject, Executor.NO_ROW_OFFSET, Executor.NO_ROW_LIMIT, null);
-    String sql = handler.getSql();
+    BoundSql boundSql = handler.getBoundSql();
+    String sql = boundSql.getSql();
     Statement stmt;
     if (currentSql != null && sql.hashCode() == currentSql.hashCode() && 
sql.length() == currentSql.length()) {
       int last = statementList.size() - 1;

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=762164&r1=762163&r2=762164&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
 Sun Apr  5 21:31:51 2009
@@ -2,8 +2,7 @@
 
 import org.apache.ibatis.executor.result.ResultHandler;
 import org.apache.ibatis.executor.statement.StatementHandler;
-import org.apache.ibatis.mapping.Configuration;
-import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.*;
 import org.apache.ibatis.transaction.Transaction;
 
 import java.sql.Connection;
@@ -48,7 +47,8 @@
   private Statement prepareStatement(StatementHandler handler)
       throws SQLException {
     Statement stmt;
-    String sql = handler.getSql();
+    BoundSql boundSql = handler.getBoundSql();
+    String sql = boundSql.getSql();
     if (hasStatementFor(sql)) {
       stmt = getStatement(sql);
     } else {

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/BaseStatementHandler.java
 Sun Apr  5 21:31:51 2009
@@ -17,7 +17,6 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import java.util.List;
 
 public abstract class BaseStatementHandler implements StatementHandler {
 
@@ -28,18 +27,14 @@
 
   protected final Executor executor;
   protected final MappedStatement mappedStatement;
-  protected final Object parameterObject;
   protected final int rowOffset;
   protected final int rowLimit;
 
-  protected final List<ParameterMapping> parameterMappings;
-  protected final String sql;
   protected final BoundSql boundSql;
 
   protected BaseStatementHandler(Executor executor, MappedStatement 
mappedStatement, Object parameterObject, int rowOffset, int rowLimit, 
ResultHandler resultHandler) {
     this.executor = executor;
     this.mappedStatement = mappedStatement;
-    this.parameterObject = parameterObject;
     this.rowOffset = rowOffset;
     this.rowLimit = rowLimit;
 
@@ -48,15 +43,13 @@
     this.objectFactory = configuration.getObjectFactory();
 
     this.boundSql = mappedStatement.getBoundSql(parameterObject);
-    this.sql = boundSql.getSql();
-    this.parameterMappings = boundSql.getParameterMappings();
 
     this.parameterHandler = configuration.newParameterHandler(mappedStatement, 
parameterObject, boundSql);
     this.resultSetHandler = configuration.newResultSetHandler(executor, 
mappedStatement, rowOffset, rowLimit, parameterHandler, resultHandler, 
boundSql);
   }
 
-  public String getSql() {
-    return sql;
+  public BoundSql getBoundSql() {
+    return boundSql;
   }
 
   public ParameterHandler getParameterHandler() {
@@ -65,7 +58,7 @@
 
   public Statement prepare(Connection connection)
       throws SQLException {
-    ErrorContext.instance().sql(sql);
+    ErrorContext.instance().sql(boundSql.getSql());
     Statement statement = null;
     try {
       statement = instantiateStatement(connection);

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/CallableStatementHandler.java
 Sun Apr  5 21:31:51 2009
@@ -41,6 +41,7 @@
   }
 
   protected Statement instantiateStatement(Connection connection) throws 
SQLException {
+    String sql = boundSql.getSql();
     if (mappedStatement.getResultSetType() != null) {
       return connection.prepareCall(sql, 
mappedStatement.getResultSetType().getValue(), ResultSet.CONCUR_READ_ONLY);
     } else {
@@ -49,11 +50,12 @@
   }
 
   public void parameterize(Statement statement) throws SQLException {
-    registerOutputParameters((CallableStatement) statement, mappedStatement);
+    registerOutputParameters((CallableStatement) statement);
     parameterHandler.setParameters((CallableStatement) statement);
   }
 
-  private void registerOutputParameters(CallableStatement cs, MappedStatement 
ms) throws SQLException {
+  private void registerOutputParameters(CallableStatement cs) throws 
SQLException {
+    List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
     for (int i = 0, n = parameterMappings.size(); i < n; i++) {
       ParameterMapping parameterMapping = parameterMappings.get(i);
       if (parameterMapping.getMode() == ParameterMode.OUT || 
parameterMapping.getMode() == ParameterMode.INOUT) {

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
 Sun Apr  5 21:31:51 2009
@@ -19,6 +19,7 @@
     ps.execute();
     int result = ps.getUpdateCount();
     if (mappedStatement.getConfiguration().isGeneratedKeysEnabled()) {
+      Object parameterObject = boundSql.getParameterObject();
       result = processGeneratedKeys(mappedStatement, ps, parameterObject);
     }
     return result;
@@ -38,6 +39,7 @@
   }
 
   protected Statement instantiateStatement(Connection connection) throws 
SQLException {
+    String sql = boundSql.getSql();
     if (mappedStatement.getConfiguration().isGeneratedKeysEnabled()) {
       return connection.prepareStatement(sql, 
PreparedStatement.RETURN_GENERATED_KEYS);
     } else if (mappedStatement.getResultSetType() != null) {

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/RoutingStatementHandler.java
 Sun Apr  5 21:31:51 2009
@@ -4,7 +4,7 @@
 import org.apache.ibatis.executor.ExecutorException;
 import org.apache.ibatis.executor.parameter.ParameterHandler;
 import org.apache.ibatis.executor.result.ResultHandler;
-import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.*;
 
 import java.sql.Connection;
 import java.sql.SQLException;
@@ -53,8 +53,8 @@
     return delegate.query(statement, resultHandler);
   }
 
-  public String getSql() {
-    return delegate.getSql();
+  public BoundSql getBoundSql() {
+    return delegate.getBoundSql();
   }
 
   public ParameterHandler getParameterHandler() {

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/SimpleStatementHandler.java
 Sun Apr  5 21:31:51 2009
@@ -2,7 +2,7 @@
 
 import org.apache.ibatis.executor.Executor;
 import org.apache.ibatis.executor.result.ResultHandler;
-import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.*;
 
 import java.sql.Connection;
 import java.sql.ResultSet;
@@ -18,6 +18,8 @@
 
   public int update(Statement statement)
       throws SQLException {
+    String sql = boundSql.getSql();
+    Object parameterObject = boundSql.getParameterObject();
     if (mappedStatement.getConfiguration().isGeneratedKeysEnabled()) {
       statement.execute(sql, Statement.RETURN_GENERATED_KEYS);
     } else {
@@ -32,11 +34,13 @@
 
   public void batch(Statement statement)
       throws SQLException {
+    String sql = boundSql.getSql();
     statement.addBatch(sql);
   }
 
   public List query(Statement statement, ResultHandler resultHandler)
       throws SQLException {
+    String sql = boundSql.getSql();
     statement.execute(sql);
     return resultSetHandler.handleResultSets(statement);
   }

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/StatementHandler.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/StatementHandler.java?rev=762164&r1=762163&r2=762164&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/StatementHandler.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/executor/statement/StatementHandler.java
 Sun Apr  5 21:31:51 2009
@@ -2,6 +2,7 @@
 
 import org.apache.ibatis.executor.parameter.ParameterHandler;
 import org.apache.ibatis.executor.result.ResultHandler;
+import org.apache.ibatis.mapping.BoundSql;
 
 import java.sql.Connection;
 import java.sql.SQLException;
@@ -25,7 +26,7 @@
   List query(Statement statement, ResultHandler resultHandler)
       throws SQLException;
 
-  String getSql();
+  BoundSql getBoundSql();
 
   ParameterHandler getParameterHandler();
 


Reply via email to