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