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
+}