Author: cbegin
Date: Fri Aug  8 09:33:26 2008
New Revision: 684014

URL: http://svn.apache.org/viewvc?rev=684014&view=rev
Log:
Introduced ExecutorType to replace old cooperative booleans.

Added:
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ExecutorType.java
Modified:
    
ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/XmlSqlMapConfigParser.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/XmlSqlMapConfigParser.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/XmlSqlMapConfigParser.java?rev=684014&r1=684013&r2=684014&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/XmlSqlMapConfigParser.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/XmlSqlMapConfigParser.java
 Fri Aug  8 09:33:26 2008
@@ -8,6 +8,7 @@
 import org.apache.ibatis.reflection.*;
 import org.apache.ibatis.type.*;
 import org.apache.ibatis.xml.*;
+import org.apache.ibatis.mapping.ExecutorType;
 
 import java.io.Reader;
 import java.util.*;
@@ -94,10 +95,14 @@
     config.setEnhancementEnabled(enhancementEnabled);
 
     boolean statementCachingEnabled = 
context.getBooleanAttribute("statementCachingEnabled", true);
-    config.setStatementCachingEnabled(statementCachingEnabled);
+    if (statementCachingEnabled) {
+      config.setDefaultExecutorType(ExecutorType.REUSE);
+    }
 
     boolean batchUpdatesEnabled = 
context.getBooleanAttribute("batchUpdatesEnabled", true);
-    config.setBatchUpdatesEnabled(batchUpdatesEnabled);
+    if (batchUpdatesEnabled) {
+      config.setDefaultExecutorType(ExecutorType.BATCH);
+    }
 
     boolean cacheModelsEnabled = 
context.getBooleanAttribute("cacheModelsEnabled", true);
     config.setCacheEnabled(cacheModelsEnabled);

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=684014&r1=684013&r2=684014&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
 Fri Aug  8 09:33:26 2008
@@ -22,9 +22,7 @@
   private boolean useColumnLabel = true;
   private boolean cacheEnabled;
 
-  //TODO:  Make enum for reuse/batch/simple executors
-  private boolean statementCachingEnabled;
-  private boolean batchUpdatesEnabled;
+  private ExecutorType defaultExecutorType = ExecutorType.SIMPLE;
 
   private Properties variables = new Properties();
   private ObjectFactory objectFactory = new DefaultObjectFactory();
@@ -70,20 +68,12 @@
     this.generatedKeysEnabled = generatedKeysEnabled;
   }
 
-  public boolean isStatementCachingEnabled() {
-    return statementCachingEnabled;
+  public ExecutorType getDefaultExecutorType() {
+    return defaultExecutorType;
   }
 
-  public void setStatementCachingEnabled(boolean statementCachingEnabled) {
-    this.statementCachingEnabled = statementCachingEnabled;
-  }
-
-  public boolean isBatchUpdatesEnabled() {
-    return batchUpdatesEnabled;
-  }
-
-  public void setBatchUpdatesEnabled(boolean batchUpdatesEnabled) {
-    this.batchUpdatesEnabled = batchUpdatesEnabled;
+  public void setDefaultExecutorType(ExecutorType defaultExecutorType) {
+    this.defaultExecutorType = defaultExecutorType;
   }
 
   public boolean isCacheEnabled() {
@@ -153,10 +143,16 @@
   }
 
   public Executor newExecutor(Connection conn) {
+    return newExecutor(conn,defaultExecutorType);
+  }
+  
+  public Executor newExecutor(Connection conn, ExecutorType executorType) {
+    executorType = executorType == null ? defaultExecutorType : executorType;
+    executorType = executorType == null ? ExecutorType.SIMPLE : executorType;
     Executor executor;
-    if (batchUpdatesEnabled) {
+    if (ExecutorType.BATCH == executorType) {
       executor = new BatchExecutor(conn);
-    } else if (statementCachingEnabled) {
+    } else if (ExecutorType.REUSE == executorType) {
       executor = new ReuseExecutor(conn);
     } else {
       executor = new SimpleExecutor(conn);

Added: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ExecutorType.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ExecutorType.java?rev=684014&view=auto
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ExecutorType.java
 (added)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ExecutorType.java
 Fri Aug  8 09:33:26 2008
@@ -0,0 +1,5 @@
+package org.apache.ibatis.mapping;
+
+public enum ExecutorType {
+  SIMPLE, REUSE, BATCH
+}


Reply via email to