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 2007/06/10 09:31:36 UTC
svn commit: r545852 [1/2] - in /ibatis/trunk/java/mapper/mapper2: doc/
javadoc/com/ibatis/sqlmap/client/ src/com/ibatis/sqlmap/engine/builder/xml/
src/com/ibatis/sqlmap/engine/conifg/ src/com/ibatis/sqlmap/engine/exchange/
src/com/ibatis/sqlmap/engine/...
Author: cbegin
Date: Sun Jun 10 00:31:34 2007
New Revision: 545852
URL: http://svn.apache.org/viewvc?view=rev&rev=545852
Log:
REmoved maxTransactions, maxResults, maxSessions. All are effectively limited bye the resource providers (e.g. database, app server, tx manager etc.)
Added:
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/StatementScope.java (contents, props changed)
- copied, changed from r545803, ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/RequestScope.java
Removed:
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/BaseScope.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/RequestScope.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/Scope.java
Modified:
ibatis/trunk/java/mapper/mapper2/doc/release.txt
ibatis/trunk/java/mapper/mapper2/javadoc/com/ibatis/sqlmap/client/sql-map-config.xml
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/conifg/SqlMapConfiguration.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/BaseDataExchange.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/ComplexDataExchange.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/DataExchange.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/DomDataExchange.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/JavaBeanDataExchange.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/ListDataExchange.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/MapDataExchange.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/PrimitiveDataExchange.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapSessionImpl.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/parameter/BasicParameterMap.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/parameter/NoParameterMap.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/parameter/ParameterMap.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/ResultMap.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/sql/Sql.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/sql/dynamic/DynamicSql.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/sql/raw/RawSql.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/sql/simple/SimpleDynamicSql.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/sql/stat/StaticSql.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/BaseStatement.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/CachingStatement.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/DeleteStatement.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/GeneralStatement.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/InsertStatement.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/MappedStatement.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/ProcedureStatement.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/RowHandlerCallback.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/SelectKeyStatement.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/SelectStatement.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/UpdateStatement.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/scope/SessionScope.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/BaseTransactionConfig.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/TransactionConfig.java
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/TransactionManager.java
ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbySqlMapConfig.xml
ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.xml
ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig_rof.xml
Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original)
+++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sun Jun 10 00:31:34 2007
@@ -2,8 +2,9 @@
Build Number: @buildNum@
------------------------------
- 2.3.1 -
+ 2.x
------------------------------
+ o Removed maxTransactions, maxRequests, maxSessions from configuration, all are now controlled by the resource providers
o Fixed BATIS-391 - Cannot access Lists within custom objects.
o Fixed IBATIS-388 - Add methods to unwrap all proxied objects
Modified: ibatis/trunk/java/mapper/mapper2/javadoc/com/ibatis/sqlmap/client/sql-map-config.xml
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/javadoc/com/ibatis/sqlmap/client/sql-map-config.xml?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/javadoc/com/ibatis/sqlmap/client/sql-map-config.xml (original)
+++ ibatis/trunk/java/mapper/mapper2/javadoc/com/ibatis/sqlmap/client/sql-map-config.xml Sun Jun 10 00:31:34 2007
@@ -25,9 +25,6 @@
lazyLoadingEnabled="true"
cacheModelsEnabled="true"
enhancementEnabled="true"
- maxRequests="512"
- maxSessions="128"
- maxTransactions="32"
/>
<!-- A type alias can be used to declare a shorter name for a long fully qualified
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java Sun Jun 10 00:31:34 2007
@@ -111,18 +111,6 @@
boolean enhancementEnabled = (enhancementEnabledAttr == null || "true".equals(enhancementEnabledAttr));
config.setEnhancementEnabled(enhancementEnabled);
- String maxTransactionsAttr = attributes.getProperty("maxTransactions");
- Integer maxTransactions = maxTransactionsAttr == null ? null : new Integer((maxTransactionsAttr));
- config.setMaxTransactions(maxTransactions);
-
- String maxRequestsAttr = attributes.getProperty("maxRequests");
- Integer maxRequests = maxRequestsAttr == null ? null : new Integer(maxRequestsAttr);
- config.setMaxRequests(maxRequests);
-
- String maxSessionsAttr = attributes.getProperty("maxSessions");
- Integer maxSessions = maxSessionsAttr == null ? null : new Integer(maxSessionsAttr);
- config.setMaxSessions(maxSessions);
-
String defaultTimeoutAttr = attributes.getProperty("defaultStatementTimeout");
Integer defaultTimeout = defaultTimeoutAttr == null ? null : Integer.valueOf(defaultTimeoutAttr);
config.setDefaultStatementTimeout(defaultTimeout);
@@ -183,7 +171,6 @@
state.getConfig().getErrorContext().setMoreInfo("Check the transaction manager type or class.");
TransactionConfig config = (TransactionConfig) Resources.instantiate(type);
config.setDataSource(state.getDataSource());
- config.setMaximumConcurrentTransactions(state.getConfig().getDelegate().getMaxTransactions());
state.getConfig().getErrorContext().setMoreInfo("Check the transactio nmanager properties or configuration.");
config.setProperties(state.getTxProps());
config.setForceCommit(commitRequired);
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd Sun Jun 10 00:31:34 2007
@@ -36,9 +36,6 @@
enhancementEnabled (true | false) #IMPLIED
errorTracingEnabled (true | false) #IMPLIED
useStatementNamespaces (true | false) #IMPLIED
-maxSessions CDATA #IMPLIED
-maxTransactions CDATA #IMPLIED
-maxRequests CDATA #IMPLIED
defaultStatementTimeout CDATA #IMPLIED
>
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/conifg/SqlMapConfiguration.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/conifg/SqlMapConfiguration.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/conifg/SqlMapConfiguration.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/conifg/SqlMapConfiguration.java Sun Jun 10 00:31:34 2007
@@ -130,27 +130,6 @@
AccessPlanFactory.setBytecodeEnhancementEnabled(enhancementEnabled);
}
- public void setMaxTransactions (Integer maxTransactions) {
- errorContext.setActivity("setting maximum transactions");
- if (maxTransactions != null && maxTransactions.intValue() > 0) {
- client.getDelegate().setMaxTransactions(maxTransactions.intValue());
- }
- }
-
- public void setMaxRequests (Integer maxRequests) {
- errorContext.setActivity("setting maximum requests");
- if (maxRequests != null && maxRequests.intValue() > 0) {
- client.getDelegate().setMaxRequests(maxRequests.intValue());
- }
- }
-
- public void setMaxSessions (Integer maxSessions) {
- errorContext.setActivity("setting maximum sessions");
- if (maxSessions != null && maxSessions.intValue() > 0) {
- client.getDelegate().setMaxSessions(maxSessions.intValue());
- }
- }
-
public void setDefaultStatementTimeout(Integer defaultTimeout) {
errorContext.setActivity("setting default timeout");
if (defaultTimeout != null) {
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/BaseDataExchange.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/BaseDataExchange.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/BaseDataExchange.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/BaseDataExchange.java Sun Jun 10 00:31:34 2007
@@ -17,7 +17,7 @@
import com.ibatis.sqlmap.engine.cache.CacheKey;
import com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap;
-import com.ibatis.sqlmap.engine.scope.RequestScope;
+import com.ibatis.sqlmap.engine.scope.StatementScope;
/**
* Base implementation for the DataExchange interface
@@ -30,9 +30,9 @@
this.dataExchangeFactory = dataExchangeFactory;
}
- public CacheKey getCacheKey(RequestScope request, ParameterMap parameterMap, Object parameterObject) {
+ public CacheKey getCacheKey(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject) {
CacheKey key = new CacheKey();
- Object[] data = getData(request, parameterMap, parameterObject);
+ Object[] data = getData(statementScope, parameterMap, parameterObject);
for (int i = 0; i < data.length; i++) {
if (data[i] != null) {
key.update(data[i]);
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/ComplexDataExchange.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/ComplexDataExchange.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/ComplexDataExchange.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/ComplexDataExchange.java Sun Jun 10 00:31:34 2007
@@ -23,7 +23,7 @@
import com.ibatis.sqlmap.engine.mapping.result.ResultMap;
import com.ibatis.sqlmap.engine.mapping.result.ResultMapping;
import com.ibatis.sqlmap.engine.mapping.result.ResultObjectFactoryUtil;
-import com.ibatis.sqlmap.engine.scope.RequestScope;
+import com.ibatis.sqlmap.engine.scope.StatementScope;
import com.ibatis.sqlmap.engine.type.TypeHandlerFactory;
import java.util.Map;
@@ -46,7 +46,7 @@
public void initialize(Map properties) {
}
- public Object[] getData(RequestScope request, ParameterMap parameterMap, Object parameterObject) {
+ public Object[] getData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject) {
TypeHandlerFactory typeHandlerFactory = getDataExchangeFactory().getTypeHandlerFactory();
if (parameterObject == null) {
return new Object[1];
@@ -69,7 +69,7 @@
}
}
- public Object setData(RequestScope request, ResultMap resultMap, Object resultObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ResultMap resultMap, Object resultObject, Object[] values) {
TypeHandlerFactory typeHandlerFactory = getDataExchangeFactory().getTypeHandlerFactory();
if (typeHandlerFactory.hasTypeHandler(resultMap.getResultClass())) {
return values[0];
@@ -90,7 +90,7 @@
}
}
- public Object setData(RequestScope request, ParameterMap parameterMap, Object parameterObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject, Object[] values) {
TypeHandlerFactory typeHandlerFactory = getDataExchangeFactory().getTypeHandlerFactory();
if (typeHandlerFactory.hasTypeHandler(parameterMap.getParameterClass())) {
return values[0];
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/DataExchange.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/DataExchange.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/DataExchange.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/DataExchange.java Sun Jun 10 00:31:34 2007
@@ -18,7 +18,7 @@
import com.ibatis.sqlmap.engine.cache.CacheKey;
import com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap;
import com.ibatis.sqlmap.engine.mapping.result.ResultMap;
-import com.ibatis.sqlmap.engine.scope.RequestScope;
+import com.ibatis.sqlmap.engine.scope.StatementScope;
import java.util.Map;
@@ -37,48 +37,48 @@
/**
* Gets a data array from a parameter object.
*
- * @param request - the scope of the request
+ * @param statementScope - the scope of the request
* @param parameterMap - the parameter map
* @param parameterObject - the parameter object
*
* @return - the objects
*/
- public Object[] getData(RequestScope request, ParameterMap parameterMap, Object parameterObject);
+ public Object[] getData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject);
/**
* Sets values from a data array into a result object.
*
- * @param request - the request scope
+ * @param statementScope - the request scope
* @param resultMap - the result map
* @param resultObject - the result object
* @param values - the values to be mapped
*
* @return the resultObject
*/
- public Object setData(RequestScope request, ResultMap resultMap, Object resultObject, Object[] values);
+ public Object setData(StatementScope statementScope, ResultMap resultMap, Object resultObject, Object[] values);
/**
* Sets values from a data array into a parameter object
*
- * @param request - the request scope
+ * @param statementScope - the request scope
* @param parameterMap - the parameter map
* @param parameterObject - the parameter object
* @param values - the values to set
*
* @return parameterObject
*/
- public Object setData(RequestScope request, ParameterMap parameterMap, Object parameterObject, Object[] values);
+ public Object setData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject, Object[] values);
/**
* Returns an object capable of being a unique cache key for a parameter object.
*
- * @param request - the request scope
+ * @param statementScope - the request scope
* @param parameterMap - the parameter map
* @param parameterObject - the parameter object
*
* @return - a cache key
*/
- public CacheKey getCacheKey(RequestScope request, ParameterMap parameterMap, Object parameterObject);
+ public CacheKey getCacheKey(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject);
}
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/DomDataExchange.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/DomDataExchange.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/DomDataExchange.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/DomDataExchange.java Sun Jun 10 00:31:34 2007
@@ -23,7 +23,7 @@
import com.ibatis.sqlmap.engine.mapping.result.BasicResultMap;
import com.ibatis.sqlmap.engine.mapping.result.ResultMap;
import com.ibatis.sqlmap.engine.mapping.result.ResultMapping;
-import com.ibatis.sqlmap.engine.scope.RequestScope;
+import com.ibatis.sqlmap.engine.scope.StatementScope;
import org.w3c.dom.Document;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -46,7 +46,7 @@
public void initialize(Map properties) {
}
- public Object[] getData(RequestScope request, ParameterMap parameterMap, Object parameterObject) {
+ public Object[] getData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject) {
Probe probe = ProbeFactory.getProbe(parameterObject);
ParameterMapping[] mappings = parameterMap.getParameterMappings();
@@ -59,7 +59,7 @@
return values;
}
- public Object setData(RequestScope request, ResultMap resultMap, Object resultObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ResultMap resultMap, Object resultObject, Object[] values) {
String name = ((BasicResultMap) resultMap).getXmlName();
if (name == null) {
@@ -89,7 +89,7 @@
return resultObject;
}
- public Object setData(RequestScope request, ParameterMap parameterMap, Object parameterObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject, Object[] values) {
Probe probe = ProbeFactory.getProbe(parameterObject);
ParameterMapping[] mappings = parameterMap.getParameterMappings();
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/JavaBeanDataExchange.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/JavaBeanDataExchange.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/JavaBeanDataExchange.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/JavaBeanDataExchange.java Sun Jun 10 00:31:34 2007
@@ -24,7 +24,7 @@
import com.ibatis.sqlmap.engine.mapping.result.ResultMapping;
import com.ibatis.sqlmap.engine.mapping.result.ResultObjectFactoryUtil;
import com.ibatis.sqlmap.engine.scope.ErrorContext;
-import com.ibatis.sqlmap.engine.scope.RequestScope;
+import com.ibatis.sqlmap.engine.scope.StatementScope;
import java.util.ArrayList;
import java.util.List;
@@ -86,7 +86,7 @@
}
}
- public Object[] getData(RequestScope request, ParameterMap parameterMap, Object parameterObject) {
+ public Object[] getData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject) {
if (parameterPlan != null) {
return parameterPlan.getProperties(parameterObject);
} else {
@@ -94,11 +94,11 @@
}
}
- public Object setData(RequestScope request, ResultMap resultMap, Object resultObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ResultMap resultMap, Object resultObject, Object[] values) {
if (resultPlan != null) {
Object object = resultObject;
- ErrorContext errorContext = request.getErrorContext();
+ ErrorContext errorContext = statementScope.getErrorContext();
if (object == null) {
errorContext.setMoreInfo("The error occured while instantiating the result object");
@@ -117,7 +117,7 @@
}
// Bug ibatis-12
- public Object setData(RequestScope request, ParameterMap parameterMap, Object parameterObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject, Object[] values) {
if (outParamPlan != null) {
Object object = parameterObject;
if (object == null) {
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/ListDataExchange.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/ListDataExchange.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/ListDataExchange.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/ListDataExchange.java Sun Jun 10 00:31:34 2007
@@ -19,7 +19,7 @@
import com.ibatis.sqlmap.engine.mapping.parameter.ParameterMapping;
import com.ibatis.sqlmap.engine.mapping.result.ResultMap;
import com.ibatis.sqlmap.engine.mapping.result.ResultMapping;
-import com.ibatis.sqlmap.engine.scope.RequestScope;
+import com.ibatis.sqlmap.engine.scope.StatementScope;
import com.ibatis.common.beans.ProbeFactory;
import java.util.ArrayList;
@@ -38,7 +38,7 @@
public void initialize(Map properties) {
}
- public Object[] getData(RequestScope request, ParameterMap parameterMap, Object parameterObject) {
+ public Object[] getData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject) {
ParameterMapping[] mappings = parameterMap.getParameterMappings();
Object[] data = new Object[mappings.length];
for (int i = 0; i < mappings.length; i++) {
@@ -84,7 +84,7 @@
return data;
}
- public Object setData(RequestScope request, ResultMap resultMap, Object resultObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ResultMap resultMap, Object resultObject, Object[] values) {
ResultMapping[] mappings = resultMap.getResultMappings();
List data = new ArrayList();
for (int i = 0; i < mappings.length; i++) {
@@ -95,7 +95,7 @@
return data;
}
- public Object setData(RequestScope request, ParameterMap parameterMap, Object parameterObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject, Object[] values) {
ParameterMapping[] mappings = parameterMap.getParameterMappings();
List data = new ArrayList();
for (int i = 0; i < mappings.length; i++) {
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/MapDataExchange.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/MapDataExchange.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/MapDataExchange.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/MapDataExchange.java Sun Jun 10 00:31:34 2007
@@ -20,7 +20,7 @@
import com.ibatis.sqlmap.engine.mapping.parameter.ParameterMapping;
import com.ibatis.sqlmap.engine.mapping.result.ResultMap;
import com.ibatis.sqlmap.engine.mapping.result.ResultMapping;
-import com.ibatis.sqlmap.engine.scope.RequestScope;
+import com.ibatis.sqlmap.engine.scope.StatementScope;
import java.util.HashMap;
import java.util.Map;
@@ -37,7 +37,7 @@
public void initialize(Map properties) {
}
- public Object[] getData(RequestScope request, ParameterMap parameterMap, Object parameterObject) {
+ public Object[] getData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject) {
if (!(parameterObject instanceof Map)) {
throw new RuntimeException("Error. Object passed into MapDataExchange was not an instance of Map.");
}
@@ -51,7 +51,7 @@
return data;
}
- public Object setData(RequestScope request, ResultMap resultMap, Object resultObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ResultMap resultMap, Object resultObject, Object[] values) {
if (!(resultObject == null || resultObject instanceof Map)) {
throw new RuntimeException("Error. Object passed into MapDataExchange was not an instance of Map.");
}
@@ -69,7 +69,7 @@
return map;
}
- public Object setData(RequestScope request, ParameterMap parameterMap, Object parameterObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject, Object[] values) {
if (!(parameterObject == null || parameterObject instanceof Map)) {
throw new RuntimeException("Error. Object passed into MapDataExchange was not an instance of Map.");
}
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/PrimitiveDataExchange.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/PrimitiveDataExchange.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/PrimitiveDataExchange.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/exchange/PrimitiveDataExchange.java Sun Jun 10 00:31:34 2007
@@ -18,7 +18,7 @@
import com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap;
import com.ibatis.sqlmap.engine.mapping.parameter.ParameterMapping;
import com.ibatis.sqlmap.engine.mapping.result.ResultMap;
-import com.ibatis.sqlmap.engine.scope.RequestScope;
+import com.ibatis.sqlmap.engine.scope.StatementScope;
import java.util.Map;
@@ -34,7 +34,7 @@
public void initialize(Map properties) {
}
- public Object[] getData(RequestScope request, ParameterMap parameterMap, Object parameterObject) {
+ public Object[] getData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject) {
ParameterMapping[] mappings = parameterMap.getParameterMappings();
Object[] data = new Object[mappings.length];
for (int i = 0; i < mappings.length; i++) {
@@ -43,11 +43,11 @@
return data;
}
- public Object setData(RequestScope request, ResultMap resultMap, Object resultObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ResultMap resultMap, Object resultObject, Object[] values) {
return values[0];
}
- public Object setData(RequestScope request, ParameterMap parameterMap, Object parameterObject, Object[] values) {
+ public Object setData(StatementScope statementScope, ParameterMap parameterMap, Object parameterObject, Object[] values) {
return values[0];
}
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java Sun Jun 10 00:31:34 2007
@@ -23,7 +23,7 @@
import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement;
import com.ibatis.sqlmap.engine.mapping.statement.RowHandlerCallback;
import com.ibatis.sqlmap.engine.scope.ErrorContext;
-import com.ibatis.sqlmap.engine.scope.RequestScope;
+import com.ibatis.sqlmap.engine.scope.StatementScope;
import com.ibatis.sqlmap.engine.scope.SessionScope;
import com.ibatis.sqlmap.engine.impl.ExtendedSqlMapClient;
import com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate;
@@ -57,31 +57,31 @@
/**
* Execute an update
*
- * @param request - the request scope
+ * @param statementScope - the request scope
* @param conn - the database connection
* @param sql - the sql statement to execute
* @param parameters - the parameters for the sql statement
* @return - the number of records changed
* @throws SQLException - if the update fails
*/
- public int executeUpdate(RequestScope request, Connection conn, String sql, Object[] parameters) throws SQLException {
- ErrorContext errorContext = request.getErrorContext();
+ public int executeUpdate(StatementScope statementScope, Connection conn, String sql, Object[] parameters) throws SQLException {
+ ErrorContext errorContext = statementScope.getErrorContext();
errorContext.setActivity("executing update");
errorContext.setObjectId(sql);
PreparedStatement ps = null;
- setupResultObjectFactory(request);
+ setupResultObjectFactory(statementScope);
int rows = 0;
try {
errorContext.setMoreInfo("Check the SQL Statement (preparation failed).");
- ps = prepareStatement(request.getSession(), conn, sql);
- setStatementTimeout(request.getStatement(), ps);
+ ps = prepareStatement(statementScope.getSession(), conn, sql);
+ setStatementTimeout(statementScope.getStatement(), ps);
errorContext.setMoreInfo("Check the parameters (set parameters failed).");
- request.getParameterMap().setParameters(request, ps, parameters);
+ statementScope.getParameterMap().setParameters(statementScope, ps, parameters);
errorContext.setMoreInfo("Check the statement (update failed).");
ps.execute();
rows = ps.getUpdateCount();
} finally {
- closeStatement(request.getSession(), ps);
+ closeStatement(statementScope.getSession(), ps);
}
return rows;
}
@@ -89,36 +89,36 @@
/**
* Adds a statement to a batch
*
- * @param request - the request scope
+ * @param statementScope - the request scope
* @param conn - the database connection
* @param sql - the sql statement
* @param parameters - the parameters for the statement
* @throws SQLException - if the statement fails
*/
- public void addBatch(RequestScope request, Connection conn, String sql, Object[] parameters) throws SQLException {
- Batch batch = (Batch) request.getSession().getBatch();
+ public void addBatch(StatementScope statementScope, Connection conn, String sql, Object[] parameters) throws SQLException {
+ Batch batch = (Batch) statementScope.getSession().getBatch();
if (batch == null) {
batch = new Batch();
- request.getSession().setBatch(batch);
+ statementScope.getSession().setBatch(batch);
}
- batch.addBatch(request, conn, sql, parameters);
+ batch.addBatch(statementScope, conn, sql, parameters);
}
/**
* Execute a batch of statements
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @return - the number of rows impacted by the batch
* @throws SQLException - if a statement fails
*/
- public int executeBatch(SessionScope session) throws SQLException {
+ public int executeBatch(SessionScope sessionScope) throws SQLException {
int rows = 0;
- Batch batch = (Batch) session.getBatch();
+ Batch batch = (Batch) sessionScope.getBatch();
if (batch != null) {
try {
rows = batch.executeBatch();
} finally {
- batch.cleanupBatch(session);
+ batch.cleanupBatch(sessionScope);
}
}
return rows;
@@ -127,7 +127,7 @@
/**
* Execute a batch of statements
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @return - a List of BatchResult objects (may be null if no batch
* has been initiated). There will be one BatchResult object in the
* list for each sub-batch executed
@@ -135,14 +135,14 @@
* does not support batch statements
* @throws BatchException if the driver throws BatchUpdateException
*/
- public List executeBatchDetailed(SessionScope session) throws SQLException, BatchException {
+ public List executeBatchDetailed(SessionScope sessionScope) throws SQLException, BatchException {
List answer = null;
- Batch batch = (Batch) session.getBatch();
+ Batch batch = (Batch) sessionScope.getBatch();
if (batch != null) {
try {
answer = batch.executeBatchDetailed();
} finally {
- batch.cleanupBatch(session);
+ batch.cleanupBatch(sessionScope);
}
}
return answer;
@@ -151,7 +151,7 @@
/**
* Long form of the method to execute a query
*
- * @param request - the request scope
+ * @param statementScope - the request scope
* @param conn - the database connection
* @param sql - the SQL statement to execute
* @param parameters - the parameters for the statement
@@ -160,40 +160,40 @@
* @param callback - the row handler for the query
* @throws SQLException - if the query fails
*/
- public void executeQuery(RequestScope request, Connection conn, String sql, Object[] parameters, int skipResults, int maxResults, RowHandlerCallback callback) throws SQLException {
- ErrorContext errorContext = request.getErrorContext();
+ public void executeQuery(StatementScope statementScope, Connection conn, String sql, Object[] parameters, int skipResults, int maxResults, RowHandlerCallback callback) throws SQLException {
+ ErrorContext errorContext = statementScope.getErrorContext();
errorContext.setActivity("executing query");
errorContext.setObjectId(sql);
PreparedStatement ps = null;
ResultSet rs = null;
- setupResultObjectFactory(request);
+ setupResultObjectFactory(statementScope);
try {
errorContext.setMoreInfo("Check the SQL Statement (preparation failed).");
- Integer rsType = request.getStatement().getResultSetType();
+ Integer rsType = statementScope.getStatement().getResultSetType();
if (rsType != null) {
- ps = prepareStatement(request.getSession(), conn, sql, rsType);
+ ps = prepareStatement(statementScope.getSession(), conn, sql, rsType);
} else {
- ps = prepareStatement(request.getSession(), conn, sql);
+ ps = prepareStatement(statementScope.getSession(), conn, sql);
}
- setStatementTimeout(request.getStatement(), ps);
- Integer fetchSize = request.getStatement().getFetchSize();
+ setStatementTimeout(statementScope.getStatement(), ps);
+ Integer fetchSize = statementScope.getStatement().getFetchSize();
if (fetchSize != null) {
ps.setFetchSize(fetchSize.intValue());
}
errorContext.setMoreInfo("Check the parameters (set parameters failed).");
- request.getParameterMap().setParameters(request, ps, parameters);
+ statementScope.getParameterMap().setParameters(statementScope, ps, parameters);
errorContext.setMoreInfo("Check the statement (query failed).");
ps.execute();
errorContext.setMoreInfo("Check the results (failed to retrieve results).");
// Begin ResultSet Handling
- rs = handleMultipleResults(ps, request, skipResults, maxResults, callback);
+ rs = handleMultipleResults(ps, statementScope, skipResults, maxResults, callback);
// End ResultSet Handling
} finally {
try {
closeResultSet(rs);
} finally {
- closeStatement(request.getSession(), ps);
+ closeStatement(statementScope.getSession(), ps);
}
}
@@ -202,37 +202,37 @@
/**
* Execute a stored procedure that updates data
*
- * @param request - the request scope
+ * @param statementScope - the request scope
* @param conn - the database connection
* @param sql - the SQL to call the procedure
* @param parameters - the parameters for the procedure
* @return - the rows impacted by the procedure
* @throws SQLException - if the procedure fails
*/
- public int executeUpdateProcedure(RequestScope request, Connection conn, String sql, Object[] parameters) throws SQLException {
- ErrorContext errorContext = request.getErrorContext();
+ public int executeUpdateProcedure(StatementScope statementScope, Connection conn, String sql, Object[] parameters) throws SQLException {
+ ErrorContext errorContext = statementScope.getErrorContext();
errorContext.setActivity("executing update procedure");
errorContext.setObjectId(sql);
CallableStatement cs = null;
- setupResultObjectFactory(request);
+ setupResultObjectFactory(statementScope);
int rows = 0;
try {
errorContext.setMoreInfo("Check the SQL Statement (preparation failed).");
- cs = prepareCall(request.getSession(), conn, sql);
- setStatementTimeout(request.getStatement(), cs);
- ParameterMap parameterMap = request.getParameterMap();
+ cs = prepareCall(statementScope.getSession(), conn, sql);
+ setStatementTimeout(statementScope.getStatement(), cs);
+ ParameterMap parameterMap = statementScope.getParameterMap();
ParameterMapping[] mappings = parameterMap.getParameterMappings();
errorContext.setMoreInfo("Check the output parameters (register output parameters failed).");
registerOutputParameters(cs, mappings);
errorContext.setMoreInfo("Check the parameters (set parameters failed).");
- parameterMap.setParameters(request, cs, parameters);
+ parameterMap.setParameters(statementScope, cs, parameters);
errorContext.setMoreInfo("Check the statement (update procedure failed).");
cs.execute();
rows = cs.getUpdateCount();
errorContext.setMoreInfo("Check the output parameters (retrieval of output parameters failed).");
- retrieveOutputParameters(request, cs, mappings, parameters, null);
+ retrieveOutputParameters(statementScope, cs, mappings, parameters, null);
} finally {
- closeStatement(request.getSession(), cs);
+ closeStatement(statementScope.getSession(), cs);
}
return rows;
}
@@ -240,7 +240,7 @@
/**
* Execute a stored procedure
*
- * @param request - the request scope
+ * @param statementScope - the request scope
* @param conn - the database connection
* @param sql - the sql to call the procedure
* @param parameters - the parameters for the procedure
@@ -249,61 +249,61 @@
* @param callback - a row handler for processing the results
* @throws SQLException - if the procedure fails
*/
- public void executeQueryProcedure(RequestScope request, Connection conn, String sql, Object[] parameters, int skipResults, int maxResults, RowHandlerCallback callback) throws SQLException {
- ErrorContext errorContext = request.getErrorContext();
+ public void executeQueryProcedure(StatementScope statementScope, Connection conn, String sql, Object[] parameters, int skipResults, int maxResults, RowHandlerCallback callback) throws SQLException {
+ ErrorContext errorContext = statementScope.getErrorContext();
errorContext.setActivity("executing query procedure");
errorContext.setObjectId(sql);
CallableStatement cs = null;
ResultSet rs = null;
- setupResultObjectFactory(request);
+ setupResultObjectFactory(statementScope);
try {
errorContext.setMoreInfo("Check the SQL Statement (preparation failed).");
- Integer rsType = request.getStatement().getResultSetType();
+ Integer rsType = statementScope.getStatement().getResultSetType();
if (rsType != null) {
- cs = prepareCall(request.getSession(), conn, sql, rsType);
+ cs = prepareCall(statementScope.getSession(), conn, sql, rsType);
} else {
- cs = prepareCall(request.getSession(), conn, sql);
+ cs = prepareCall(statementScope.getSession(), conn, sql);
}
- setStatementTimeout(request.getStatement(), cs);
- Integer fetchSize = request.getStatement().getFetchSize();
+ setStatementTimeout(statementScope.getStatement(), cs);
+ Integer fetchSize = statementScope.getStatement().getFetchSize();
if (fetchSize != null) {
cs.setFetchSize(fetchSize.intValue());
}
- ParameterMap parameterMap = request.getParameterMap();
+ ParameterMap parameterMap = statementScope.getParameterMap();
ParameterMapping[] mappings = parameterMap.getParameterMappings();
errorContext.setMoreInfo("Check the output parameters (register output parameters failed).");
registerOutputParameters(cs, mappings);
errorContext.setMoreInfo("Check the parameters (set parameters failed).");
- parameterMap.setParameters(request, cs, parameters);
+ parameterMap.setParameters(statementScope, cs, parameters);
errorContext.setMoreInfo("Check the statement (update procedure failed).");
cs.execute();
errorContext.setMoreInfo("Check the results (failed to retrieve results).");
// Begin ResultSet Handling
- rs = handleMultipleResults(cs, request, skipResults, maxResults, callback);
+ rs = handleMultipleResults(cs, statementScope, skipResults, maxResults, callback);
// End ResultSet Handling
errorContext.setMoreInfo("Check the output parameters (retrieval of output parameters failed).");
- retrieveOutputParameters(request, cs, mappings, parameters, callback);
+ retrieveOutputParameters(statementScope, cs, mappings, parameters, callback);
} finally {
try {
closeResultSet(rs);
} finally {
- closeStatement(request.getSession(), cs);
+ closeStatement(statementScope.getSession(), cs);
}
}
}
- private ResultSet handleMultipleResults(PreparedStatement ps, RequestScope request, int skipResults, int maxResults, RowHandlerCallback callback) throws SQLException {
+ private ResultSet handleMultipleResults(PreparedStatement ps, StatementScope statementScope, int skipResults, int maxResults, RowHandlerCallback callback) throws SQLException {
ResultSet rs;
rs = getFirstResultSet(ps);
if (rs != null) {
- handleResults(request, rs, skipResults, maxResults, callback);
+ handleResults(statementScope, rs, skipResults, maxResults, callback);
}
// Multiple ResultSet handling
if (callback.getRowHandler() instanceof DefaultRowHandler) {
- MappedStatement statement = request.getStatement();
+ MappedStatement statement = statementScope.getStatement();
DefaultRowHandler defaultRowHandler = ((DefaultRowHandler) callback.getRowHandler());
if (statement.hasMultipleResultMaps()) {
List multipleResults = new ArrayList();
@@ -313,15 +313,15 @@
while (moveToNextResultsSafely(ps)) {
if (i >= resultMaps.length) break;
ResultMap rm = resultMaps[i];
- request.setResultMap(rm);
+ statementScope.setResultMap(rm);
rs = ps.getResultSet();
DefaultRowHandler rh = new DefaultRowHandler();
- handleResults(request, rs, skipResults, maxResults, new RowHandlerCallback(rm, null, rh));
+ handleResults(statementScope, rs, skipResults, maxResults, new RowHandlerCallback(rm, null, rh));
multipleResults.add(rh.getList());
i++;
}
defaultRowHandler.setList(multipleResults);
- request.setResultMap(statement.getResultMap());
+ statementScope.setResultMap(statement.getResultMap());
} else {
while (moveToNextResultsSafely(ps)) ;
}
@@ -357,10 +357,10 @@
return stmt.getMoreResults();
}
- private void handleResults(RequestScope request, ResultSet rs, int skipResults, int maxResults, RowHandlerCallback callback) throws SQLException {
+ private void handleResults(StatementScope statementScope, ResultSet rs, int skipResults, int maxResults, RowHandlerCallback callback) throws SQLException {
try {
- request.setResultSet(rs);
- ResultMap resultMap = request.getResultMap();
+ statementScope.setResultSet(rs);
+ ResultMap resultMap = statementScope.getResultMap();
if (resultMap != null) {
// Skip Results
if (rs.getType() != ResultSet.TYPE_FORWARD_ONLY) {
@@ -378,17 +378,17 @@
// Get Results
int resultsFetched = 0;
while ((maxResults == SqlExecutor.NO_MAXIMUM_RESULTS || resultsFetched < maxResults) && rs.next()) {
- Object[] columnValues = resultMap.resolveSubMap(request, rs).getResults(request, rs);
- callback.handleResultObject(request, columnValues, rs);
+ Object[] columnValues = resultMap.resolveSubMap(statementScope, rs).getResults(statementScope, rs);
+ callback.handleResultObject(statementScope, columnValues, rs);
resultsFetched++;
}
}
} finally {
- request.setResultSet(null);
+ statementScope.setResultSet(null);
}
}
- private void retrieveOutputParameters(RequestScope request, CallableStatement cs, ParameterMapping[] mappings, Object[] parameters, RowHandlerCallback callback) throws SQLException {
+ private void retrieveOutputParameters(StatementScope statementScope, CallableStatement cs, ParameterMapping[] mappings, Object[] parameters, RowHandlerCallback callback) throws SQLException {
for (int i = 0; i < mappings.length; i++) {
BasicParameterMapping mapping = ((BasicParameterMapping) mappings[i]);
if (mapping.isOutputAllowed()) {
@@ -396,14 +396,14 @@
ResultSet rs = (ResultSet) cs.getObject(i + 1);
ResultMap resultMap;
if (mapping.getResultMapName() == null) {
- resultMap = request.getResultMap();
- handleOutputParameterResults(request, resultMap, rs, callback);
+ resultMap = statementScope.getResultMap();
+ handleOutputParameterResults(statementScope, resultMap, rs, callback);
} else {
- ExtendedSqlMapClient client = (ExtendedSqlMapClient) request.getSession().getSqlMapClient();
+ ExtendedSqlMapClient client = (ExtendedSqlMapClient) statementScope.getSession().getSqlMapClient();
resultMap = client.getDelegate().getResultMap(mapping.getResultMapName());
DefaultRowHandler rowHandler = new DefaultRowHandler();
RowHandlerCallback handlerCallback = new RowHandlerCallback(resultMap, null, rowHandler);
- handleOutputParameterResults(request, resultMap, rs, handlerCallback);
+ handleOutputParameterResults(statementScope, resultMap, rs, handlerCallback);
parameters[i] = rowHandler.getList();
}
rs.close();
@@ -432,85 +432,85 @@
}
}
- private void handleOutputParameterResults(RequestScope request, ResultMap resultMap, ResultSet rs, RowHandlerCallback callback) throws SQLException {
- ResultMap orig = request.getResultMap();
+ private void handleOutputParameterResults(StatementScope statementScope, ResultMap resultMap, ResultSet rs, RowHandlerCallback callback) throws SQLException {
+ ResultMap orig = statementScope.getResultMap();
try {
- request.setResultSet(rs);
+ statementScope.setResultSet(rs);
if (resultMap != null) {
- request.setResultMap(resultMap);
+ statementScope.setResultMap(resultMap);
// Get Results
while (rs.next()) {
- Object[] columnValues = resultMap.resolveSubMap(request, rs).getResults(request, rs);
- callback.handleResultObject(request, columnValues, rs);
+ Object[] columnValues = resultMap.resolveSubMap(statementScope, rs).getResults(statementScope, rs);
+ callback.handleResultObject(statementScope, columnValues, rs);
}
}
} finally {
- request.setResultSet(null);
- request.setResultMap(orig);
+ statementScope.setResultSet(null);
+ statementScope.setResultMap(orig);
}
}
/**
* Clean up any batches on the session
*
- * @param session - the session to clean up
+ * @param sessionScope - the session to clean up
*/
- public void cleanup(SessionScope session) {
- Batch batch = (Batch) session.getBatch();
+ public void cleanup(SessionScope sessionScope) {
+ Batch batch = (Batch) sessionScope.getBatch();
if (batch != null) {
- batch.cleanupBatch(session);
- session.setBatch(null);
+ batch.cleanupBatch(sessionScope);
+ sessionScope.setBatch(null);
}
}
- private PreparedStatement prepareStatement(SessionScope session, Connection conn, String sql, Integer rsType) throws SQLException {
- SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient)session.getSqlMapExecutor()).getDelegate();
- if (session.hasPreparedStatementFor(sql)) {
- return session.getPreparedStatement((sql));
+ private PreparedStatement prepareStatement(SessionScope sessionScope, Connection conn, String sql, Integer rsType) throws SQLException {
+ SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient) sessionScope.getSqlMapExecutor()).getDelegate();
+ if (sessionScope.hasPreparedStatementFor(sql)) {
+ return sessionScope.getPreparedStatement((sql));
} else {
PreparedStatement ps = conn.prepareStatement(sql, rsType.intValue(), ResultSet.CONCUR_READ_ONLY);
- session.putPreparedStatement(delegate, sql, ps);
+ sessionScope.putPreparedStatement(delegate, sql, ps);
return ps;
}
}
- private CallableStatement prepareCall(SessionScope session, Connection conn, String sql, Integer rsType) throws SQLException {
- SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient)session.getSqlMapExecutor()).getDelegate();
- if (session.hasPreparedStatementFor(sql)) {
- return (CallableStatement) session.getPreparedStatement((sql));
+ private CallableStatement prepareCall(SessionScope sessionScope, Connection conn, String sql, Integer rsType) throws SQLException {
+ SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient) sessionScope.getSqlMapExecutor()).getDelegate();
+ if (sessionScope.hasPreparedStatementFor(sql)) {
+ return (CallableStatement) sessionScope.getPreparedStatement((sql));
} else {
CallableStatement cs = conn.prepareCall(sql, rsType.intValue(), ResultSet.CONCUR_READ_ONLY);
- session.putPreparedStatement(delegate, sql, cs);
+ sessionScope.putPreparedStatement(delegate, sql, cs);
return cs;
}
}
- private static PreparedStatement prepareStatement(SessionScope session, Connection conn, String sql) throws SQLException {
- SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient)session.getSqlMapExecutor()).getDelegate();
- if (session.hasPreparedStatementFor(sql)) {
- return session.getPreparedStatement((sql));
+ private static PreparedStatement prepareStatement(SessionScope sessionScope, Connection conn, String sql) throws SQLException {
+ SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient) sessionScope.getSqlMapExecutor()).getDelegate();
+ if (sessionScope.hasPreparedStatementFor(sql)) {
+ return sessionScope.getPreparedStatement((sql));
} else {
PreparedStatement ps = conn.prepareStatement(sql);
- session.putPreparedStatement(delegate, sql, ps);
+ sessionScope.putPreparedStatement(delegate, sql, ps);
return ps;
}
}
- private CallableStatement prepareCall(SessionScope session, Connection conn, String sql) throws SQLException {
- SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient)session.getSqlMapExecutor()).getDelegate();
- if (session.hasPreparedStatementFor(sql)) {
- return (CallableStatement) session.getPreparedStatement((sql));
+ private CallableStatement prepareCall(SessionScope sessionScope, Connection conn, String sql) throws SQLException {
+ SqlMapExecutorDelegate delegate = ((ExtendedSqlMapClient) sessionScope.getSqlMapExecutor()).getDelegate();
+ if (sessionScope.hasPreparedStatementFor(sql)) {
+ return (CallableStatement) sessionScope.getPreparedStatement((sql));
} else {
CallableStatement cs = conn.prepareCall(sql);
- session.putPreparedStatement(delegate, sql, cs);
+ sessionScope.putPreparedStatement(delegate, sql, cs);
return cs;
}
}
- private static void closeStatement(SessionScope session, PreparedStatement ps) {
+ private static void closeStatement(SessionScope sessionScope, PreparedStatement ps) {
if (ps != null) {
- if (!session.hasPreparedStatement(ps)) {
+ if (!sessionScope.hasPreparedStatement(ps)) {
try {
ps.close();
} catch (SQLException e) {
@@ -568,25 +568,25 @@
/**
* Add a prepared statement to the batch
*
- * @param request - the request scope
+ * @param statementScope - the request scope
* @param conn - the database connection
* @param sql - the SQL to add
* @param parameters - the parameters for the SQL
* @throws SQLException - if the prepare for the SQL fails
*/
- public void addBatch(RequestScope request, Connection conn, String sql, Object[] parameters) throws SQLException {
+ public void addBatch(StatementScope statementScope, Connection conn, String sql, Object[] parameters) throws SQLException {
PreparedStatement ps = null;
if (currentSql != null && sql.hashCode() == currentSql.hashCode() && sql.length() == currentSql.length()) {
int last = statementList.size() - 1;
ps = (PreparedStatement) statementList.get(last);
} else {
- ps = prepareStatement(request.getSession(), conn, sql);
- setStatementTimeout(request.getStatement(), ps);
+ ps = prepareStatement(statementScope.getSession(), conn, sql);
+ setStatementTimeout(statementScope.getStatement(), ps);
currentSql = sql;
statementList.add(ps);
- batchResultList.add(new BatchResult(request.getStatement().getId(), sql));
+ batchResultList.add(new BatchResult(statementScope.getStatement().getId(), sql));
}
- request.getParameterMap().setParameters(request, ps, parameters);
+ statementScope.getParameterMap().setParameters(statementScope, ps, parameters);
ps.addBatch();
size++;
}
@@ -657,12 +657,12 @@
/**
* Close all the statements in the batch and clear all the statements
*
- * @param session
+ * @param sessionScope
*/
- public void cleanupBatch(SessionScope session) {
+ public void cleanupBatch(SessionScope sessionScope) {
for (int i = 0, n = statementList.size(); i < n; i++) {
PreparedStatement ps = (PreparedStatement) statementList.get(i);
- closeStatement(session, ps);
+ closeStatement(sessionScope, ps);
}
currentSql = null;
statementList.clear();
@@ -671,9 +671,9 @@
}
}
- private void setupResultObjectFactory(RequestScope request) {
- ExtendedSqlMapClient client = (ExtendedSqlMapClient) request.getSession().getSqlMapClient();
+ private void setupResultObjectFactory(StatementScope statementScope) {
+ ExtendedSqlMapClient client = (ExtendedSqlMapClient) statementScope.getSession().getSqlMapClient();
ResultObjectFactoryUtil.setResultObjectFactory(client.getResultObjectFactory());
- ResultObjectFactoryUtil.setStatementId(request.getStatement().getId());
+ ResultObjectFactoryUtil.setStatementId(statementScope.getStatement().getId());
}
}
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.java?view=diff&rev=545852&r1=545851&r2=545852
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.java Sun Jun 10 00:31:34 2007
@@ -19,7 +19,6 @@
import com.ibatis.common.beans.ProbeFactory;
import com.ibatis.common.jdbc.exception.NestedSQLException;
import com.ibatis.common.util.PaginatedList;
-import com.ibatis.common.util.ThrottledPool;
import com.ibatis.sqlmap.client.SqlMapException;
import com.ibatis.sqlmap.client.event.RowHandler;
import com.ibatis.sqlmap.engine.cache.CacheKey;
@@ -34,7 +33,7 @@
import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement;
import com.ibatis.sqlmap.engine.mapping.statement.PaginatedDataList;
import com.ibatis.sqlmap.engine.mapping.statement.SelectKeyStatement;
-import com.ibatis.sqlmap.engine.scope.RequestScope;
+import com.ibatis.sqlmap.engine.scope.StatementScope;
import com.ibatis.sqlmap.engine.scope.SessionScope;
import com.ibatis.sqlmap.engine.transaction.Transaction;
import com.ibatis.sqlmap.engine.transaction.TransactionException;
@@ -58,27 +57,10 @@
private static final Probe PROBE = ProbeFactory.getProbe();
- /**
- * The default maximum number of requests
- */
- public static final int DEFAULT_MAX_REQUESTS = 512;
- /**
- * The default maximum number of sessions
- */
- public static final int DEFAULT_MAX_SESSIONS = 128;
- /**
- * The default maximum number of transactions
- */
- public static final int DEFAULT_MAX_TRANSACTIONS = 32;
-
private boolean lazyLoadingEnabled;
private boolean cacheModelsEnabled;
private boolean enhancementEnabled;
- private int maxRequests = DEFAULT_MAX_REQUESTS;
- private int maxSessions = DEFAULT_MAX_SESSIONS;
- private int maxTransactions = DEFAULT_MAX_TRANSACTIONS;
-
private TransactionManager txManager;
private HashMap mappedStatements;
@@ -86,9 +68,6 @@
private HashMap resultMaps;
private HashMap parameterMaps;
- private ThrottledPool requestPool;
- private ThrottledPool sessionPool;
-
protected SqlExecutor sqlExecutor;
private TypeHandlerFactory typeHandlerFactory;
private DataExchangeFactory dataExchangeFactory;
@@ -105,9 +84,6 @@
resultMaps = new HashMap();
parameterMaps = new HashMap();
- requestPool = new ThrottledPool(RequestScope.class, DEFAULT_MAX_REQUESTS);
- sessionPool = new ThrottledPool(SessionScope.class, DEFAULT_MAX_SESSIONS);
-
sqlExecutor = new SqlExecutor();
typeHandlerFactory = new TypeHandlerFactory();
dataExchangeFactory = new DataExchangeFactory(typeHandlerFactory);
@@ -186,62 +162,6 @@
}
/**
- * Getter for the maximum number of requests
- *
- * @return - the maximum number of requests
- */
- public int getMaxRequests() {
- return maxRequests;
- }
-
- /**
- * Setter for the maximum number of requests
- *
- * @param maxRequests - the maximum number of requests
- */
- public void setMaxRequests(int maxRequests) {
- this.maxRequests = maxRequests;
- requestPool = new ThrottledPool(RequestScope.class, maxRequests);
- }
-
- /**
- * Getter for the maximum number of sessions
- *
- * @return - the maximum number of sessions
- */
- public int getMaxSessions() {
- return maxSessions;
- }
-
- /**
- * Setter for the maximum number of sessions
- *
- * @param maxSessions - the maximum number of sessions
- */
- public void setMaxSessions(int maxSessions) {
- this.maxSessions = maxSessions;
- this.sessionPool = new ThrottledPool(SessionScope.class, maxSessions);
- }
-
- /**
- * Getter for the the maximum number of transactions
- *
- * @return - the maximum number of transactions
- */
- public int getMaxTransactions() {
- return maxTransactions;
- }
-
- /**
- * Setter for the maximum number of transactions
- *
- * @param maxTransactions - the maximum number of transactions
- */
- public void setMaxTransactions(int maxTransactions) {
- this.maxTransactions = maxTransactions;
- }
-
- /**
* Getter for the transaction manager
*
* @return - the transaction manager
@@ -417,21 +337,21 @@
/**
* Call an insert statement by ID
*
- * @param session - the session
+ * @param sessionScope - the session
* @param id - the statement ID
* @param param - the parameter object
* @return - the generated key (or null)
* @throws SQLException - if the insert fails
*/
- public Object insert(SessionScope session, String id, Object param) throws SQLException {
+ public Object insert(SessionScope sessionScope, String id, Object param) throws SQLException {
Object generatedKey = null;
MappedStatement ms = getMappedStatement(id);
- Transaction trans = getTransaction(session);
+ Transaction trans = getTransaction(sessionScope);
boolean autoStart = trans == null;
try {
- trans = autoStartTransaction(session, autoStart, trans);
+ trans = autoStartTransaction(sessionScope, autoStart, trans);
SelectKeyStatement selectKeyStatement = null;
if (ms instanceof InsertStatement) {
@@ -439,43 +359,43 @@
}
if (selectKeyStatement != null && !selectKeyStatement.isRunAfterSQL()) {
- generatedKey = executeSelectKey(session, trans, ms, param);
+ generatedKey = executeSelectKey(sessionScope, trans, ms, param);
}
- RequestScope request = popRequest(session, ms);
+ StatementScope statementScope = beginStatementScope(sessionScope, ms);
try {
- ms.executeUpdate(request, trans, param);
+ ms.executeUpdate(statementScope, trans, param);
} finally {
- pushRequest(request);
+ endStatementScope(statementScope);
}
if (selectKeyStatement != null && selectKeyStatement.isRunAfterSQL()) {
- generatedKey = executeSelectKey(session, trans, ms, param);
+ generatedKey = executeSelectKey(sessionScope, trans, ms, param);
}
- autoCommitTransaction(session, autoStart);
+ autoCommitTransaction(sessionScope, autoStart);
} finally {
- autoEndTransaction(session, autoStart);
+ autoEndTransaction(sessionScope, autoStart);
}
return generatedKey;
}
- private Object executeSelectKey(SessionScope session, Transaction trans, MappedStatement ms, Object param) throws SQLException {
+ private Object executeSelectKey(SessionScope sessionScope, Transaction trans, MappedStatement ms, Object param) throws SQLException {
Object generatedKey = null;
- RequestScope request;
+ StatementScope statementScope;
InsertStatement insert = (InsertStatement) ms;
SelectKeyStatement selectKeyStatement = insert.getSelectKeyStatement();
if (selectKeyStatement != null) {
- request = popRequest(session, selectKeyStatement);
+ statementScope = beginStatementScope(sessionScope, selectKeyStatement);
try {
- generatedKey = selectKeyStatement.executeQueryForObject(request, trans, param, null);
+ generatedKey = selectKeyStatement.executeQueryForObject(statementScope, trans, param, null);
String keyProp = selectKeyStatement.getKeyProperty();
if (keyProp != null) {
PROBE.setObject(param, keyProp, generatedKey);
}
} finally {
- pushRequest(request);
+ endStatementScope(statementScope);
}
}
return generatedKey;
@@ -484,32 +404,32 @@
/**
* Execute an update statement
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param id - the statement ID
* @param param - the parameter object
* @return - the number of rows updated
* @throws SQLException - if the update fails
*/
- public int update(SessionScope session, String id, Object param) throws SQLException {
+ public int update(SessionScope sessionScope, String id, Object param) throws SQLException {
int rows = 0;
MappedStatement ms = getMappedStatement(id);
- Transaction trans = getTransaction(session);
+ Transaction trans = getTransaction(sessionScope);
boolean autoStart = trans == null;
try {
- trans = autoStartTransaction(session, autoStart, trans);
+ trans = autoStartTransaction(sessionScope, autoStart, trans);
- RequestScope request = popRequest(session, ms);
+ StatementScope statementScope = beginStatementScope(sessionScope, ms);
try {
- rows = ms.executeUpdate(request, trans, param);
+ rows = ms.executeUpdate(statementScope, trans, param);
} finally {
- pushRequest(request);
+ endStatementScope(statementScope);
}
- autoCommitTransaction(session, autoStart);
+ autoCommitTransaction(sessionScope, autoStart);
} finally {
- autoEndTransaction(session, autoStart);
+ autoEndTransaction(sessionScope, autoStart);
}
return rows;
@@ -518,59 +438,59 @@
/**
* Execute a delete statement
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param id - the statement ID
* @param param - the parameter object
* @return - the number of rows deleted
* @throws SQLException - if the delete fails
*/
- public int delete(SessionScope session, String id, Object param) throws SQLException {
- return update(session, id, param);
+ public int delete(SessionScope sessionScope, String id, Object param) throws SQLException {
+ return update(sessionScope, id, param);
}
/**
* Execute a select for a single object
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param id - the statement ID
* @param paramObject - the parameter object
* @return - the result of the query
* @throws SQLException - if the query fails
*/
- public Object queryForObject(SessionScope session, String id, Object paramObject) throws SQLException {
- return queryForObject(session, id, paramObject, null);
+ public Object queryForObject(SessionScope sessionScope, String id, Object paramObject) throws SQLException {
+ return queryForObject(sessionScope, id, paramObject, null);
}
/**
* Execute a select for a single object
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param id - the statement ID
* @param paramObject - the parameter object
* @param resultObject - the result object (if not supplied or null, a new object will be created)
* @return - the result of the query
* @throws SQLException - if the query fails
*/
- public Object queryForObject(SessionScope session, String id, Object paramObject, Object resultObject) throws SQLException {
+ public Object queryForObject(SessionScope sessionScope, String id, Object paramObject, Object resultObject) throws SQLException {
Object object = null;
MappedStatement ms = getMappedStatement(id);
- Transaction trans = getTransaction(session);
+ Transaction trans = getTransaction(sessionScope);
boolean autoStart = trans == null;
try {
- trans = autoStartTransaction(session, autoStart, trans);
+ trans = autoStartTransaction(sessionScope, autoStart, trans);
- RequestScope request = popRequest(session, ms);
+ StatementScope statementScope = beginStatementScope(sessionScope, ms);
try {
- object = ms.executeQueryForObject(request, trans, paramObject, resultObject);
+ object = ms.executeQueryForObject(statementScope, trans, paramObject, resultObject);
} finally {
- pushRequest(request);
+ endStatementScope(statementScope);
}
- autoCommitTransaction(session, autoStart);
+ autoCommitTransaction(sessionScope, autoStart);
} finally {
- autoEndTransaction(session, autoStart);
+ autoEndTransaction(sessionScope, autoStart);
}
return object;
@@ -579,20 +499,20 @@
/**
* Execute a query for a list
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param id - the statement ID
* @param paramObject - the parameter object
* @return - the data list
* @throws SQLException - if the query fails
*/
- public List queryForList(SessionScope session, String id, Object paramObject) throws SQLException {
- return queryForList(session, id, paramObject, SqlExecutor.NO_SKIPPED_RESULTS, SqlExecutor.NO_MAXIMUM_RESULTS);
+ public List queryForList(SessionScope sessionScope, String id, Object paramObject) throws SQLException {
+ return queryForList(sessionScope, id, paramObject, SqlExecutor.NO_SKIPPED_RESULTS, SqlExecutor.NO_MAXIMUM_RESULTS);
}
/**
* Execute a query for a list
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param id - the statement ID
* @param paramObject - the parameter object
* @param skip - the number of rows to skip
@@ -600,26 +520,26 @@
* @return - the data list
* @throws SQLException - if the query fails
*/
- public List queryForList(SessionScope session, String id, Object paramObject, int skip, int max) throws SQLException {
+ public List queryForList(SessionScope sessionScope, String id, Object paramObject, int skip, int max) throws SQLException {
List list = null;
MappedStatement ms = getMappedStatement(id);
- Transaction trans = getTransaction(session);
+ Transaction trans = getTransaction(sessionScope);
boolean autoStart = trans == null;
try {
- trans = autoStartTransaction(session, autoStart, trans);
+ trans = autoStartTransaction(sessionScope, autoStart, trans);
- RequestScope request = popRequest(session, ms);
+ StatementScope statementScope = beginStatementScope(sessionScope, ms);
try {
- list = ms.executeQueryForList(request, trans, paramObject, skip, max);
+ list = ms.executeQueryForList(statementScope, trans, paramObject, skip, max);
} finally {
- pushRequest(request);
+ endStatementScope(statementScope);
}
- autoCommitTransaction(session, autoStart);
+ autoCommitTransaction(sessionScope, autoStart);
} finally {
- autoEndTransaction(session, autoStart);
+ autoEndTransaction(sessionScope, autoStart);
}
return list;
@@ -629,31 +549,31 @@
* Execute a query with a row handler.
* The row handler is called once per row in the query results.
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param id - the statement ID
* @param paramObject - the parameter object
* @param rowHandler - the row handler
* @throws SQLException - if the query fails
*/
- public void queryWithRowHandler(SessionScope session, String id, Object paramObject, RowHandler rowHandler) throws SQLException {
+ public void queryWithRowHandler(SessionScope sessionScope, String id, Object paramObject, RowHandler rowHandler) throws SQLException {
MappedStatement ms = getMappedStatement(id);
- Transaction trans = getTransaction(session);
+ Transaction trans = getTransaction(sessionScope);
boolean autoStart = trans == null;
try {
- trans = autoStartTransaction(session, autoStart, trans);
+ trans = autoStartTransaction(sessionScope, autoStart, trans);
- RequestScope request = popRequest(session, ms);
+ StatementScope statementScope = beginStatementScope(sessionScope, ms);
try {
- ms.executeQueryWithRowHandler(request, trans, paramObject, rowHandler);
+ ms.executeQueryWithRowHandler(statementScope, trans, paramObject, rowHandler);
} finally {
- pushRequest(request);
+ endStatementScope(statementScope);
}
- autoCommitTransaction(session, autoStart);
+ autoCommitTransaction(sessionScope, autoStart);
} finally {
- autoEndTransaction(session, autoStart);
+ autoEndTransaction(sessionScope, autoStart);
}
}
@@ -661,7 +581,7 @@
/**
* Execute a query and return a paginated list
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param id - the statement ID
* @param paramObject - the parameter object
* @param pageSize - the page size
@@ -669,30 +589,30 @@
* @throws SQLException - if the query fails
* @deprecated All paginated list features have been deprecated
*/
- public PaginatedList queryForPaginatedList(SessionScope session, String id, Object paramObject, int pageSize) throws SQLException {
- return new PaginatedDataList(session.getSqlMapExecutor(), id, paramObject, pageSize);
+ public PaginatedList queryForPaginatedList(SessionScope sessionScope, String id, Object paramObject, int pageSize) throws SQLException {
+ return new PaginatedDataList(sessionScope.getSqlMapExecutor(), id, paramObject, pageSize);
}
/**
* Execute a query for a map.
* The map has the table key as the key, and the results as the map data
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param id - the statement ID
* @param paramObject - the parameter object
* @param keyProp - the key property (from the results for the map)
* @return - the Map
* @throws SQLException - if the query fails
*/
- public Map queryForMap(SessionScope session, String id, Object paramObject, String keyProp) throws SQLException {
- return queryForMap(session, id, paramObject, keyProp, null);
+ public Map queryForMap(SessionScope sessionScope, String id, Object paramObject, String keyProp) throws SQLException {
+ return queryForMap(sessionScope, id, paramObject, keyProp, null);
}
/**
* Execute a query for a map.
* The map has the table key as the key, and a property from the results as the map data
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param id - the statement ID
* @param paramObject - the parameter object
* @param keyProp - the property for the map key
@@ -700,10 +620,10 @@
* @return - the Map
* @throws SQLException - if the query fails
*/
- public Map queryForMap(SessionScope session, String id, Object paramObject, String keyProp, String valueProp) throws SQLException {
+ public Map queryForMap(SessionScope sessionScope, String id, Object paramObject, String keyProp, String valueProp) throws SQLException {
Map map = new HashMap();
- List list = queryForList(session, id, paramObject);
+ List list = queryForList(sessionScope, id, paramObject);
for (int i = 0, n = list.size(); i < n; i++) {
Object object = list.get(i);
@@ -724,12 +644,12 @@
/**
* Start a transaction on the session
*
- * @param session - the session
+ * @param sessionScope - the session
* @throws SQLException - if the transaction could not be started
*/
- public void startTransaction(SessionScope session) throws SQLException {
+ public void startTransaction(SessionScope sessionScope) throws SQLException {
try {
- txManager.begin(session);
+ txManager.begin(sessionScope);
} catch (TransactionException e) {
throw new NestedSQLException("Could not start transaction. Cause: " + e, e);
}
@@ -738,12 +658,12 @@
/**
* Start a transaction on the session with the specified isolation level.
*
- * @param session - the session
+ * @param sessionScope - the session
* @throws SQLException - if the transaction could not be started
*/
- public void startTransaction(SessionScope session, int transactionIsolation) throws SQLException {
+ public void startTransaction(SessionScope sessionScope, int transactionIsolation) throws SQLException {
try {
- txManager.begin(session, transactionIsolation);
+ txManager.begin(sessionScope, transactionIsolation);
} catch (TransactionException e) {
throw new NestedSQLException("Could not start transaction. Cause: " + e, e);
}
@@ -752,17 +672,17 @@
/**
* Commit the transaction on a session
*
- * @param session - the session
+ * @param sessionScope - the session
* @throws SQLException - if the transaction could not be committed
*/
- public void commitTransaction(SessionScope session) throws SQLException {
+ public void commitTransaction(SessionScope sessionScope) throws SQLException {
try {
// Auto batch execution
- if (session.isInBatch()) {
- executeBatch(session);
+ if (sessionScope.isInBatch()) {
+ executeBatch(sessionScope);
}
- sqlExecutor.cleanup(session);
- txManager.commit(session);
+ sqlExecutor.cleanup(sessionScope);
+ txManager.commit(sessionScope);
} catch (TransactionException e) {
throw new NestedSQLException("Could not commit transaction. Cause: " + e, e);
}
@@ -771,15 +691,15 @@
/**
* End the transaction on a session
*
- * @param session - the session
+ * @param sessionScope - the session
* @throws SQLException - if the transaction could not be ended
*/
- public void endTransaction(SessionScope session) throws SQLException {
+ public void endTransaction(SessionScope sessionScope) throws SQLException {
try {
try {
- sqlExecutor.cleanup(session);
+ sqlExecutor.cleanup(sessionScope);
} finally {
- txManager.end(session);
+ txManager.end(sessionScope);
}
} catch (TransactionException e) {
throw new NestedSQLException("Error while ending transaction. Cause: " + e, e);
@@ -789,28 +709,28 @@
/**
* Start a batch for a session
*
- * @param session - the session
+ * @param sessionScope - the session
*/
- public void startBatch(SessionScope session) {
- session.setInBatch(true);
+ public void startBatch(SessionScope sessionScope) {
+ sessionScope.setInBatch(true);
}
/**
* Execute a batch for a session
*
- * @param session - the session
+ * @param sessionScope - the session
* @return - the number of rows impacted by the batch
* @throws SQLException - if the batch fails
*/
- public int executeBatch(SessionScope session) throws SQLException {
- session.setInBatch(false);
- return sqlExecutor.executeBatch(session);
+ public int executeBatch(SessionScope sessionScope) throws SQLException {
+ sessionScope.setInBatch(false);
+ return sqlExecutor.executeBatch(sessionScope);
}
/**
* Execute a batch for a session
*
- * @param session - the session
+ * @param sessionScope - the session
* @return - a List of BatchResult objects (may be null if no batch
* has been initiated). There will be one BatchResult object in the
* list for each sub-batch executed
@@ -818,30 +738,30 @@
* does not support batch statements
* @throws BatchException if the driver throws BatchUpdateException
*/
- public List executeBatchDetailed(SessionScope session) throws SQLException, BatchException {
- session.setInBatch(false);
- return sqlExecutor.executeBatchDetailed(session);
+ public List executeBatchDetailed(SessionScope sessionScope) throws SQLException, BatchException {
+ sessionScope.setInBatch(false);
+ return sqlExecutor.executeBatchDetailed(sessionScope);
}
/**
* Use a user-provided transaction for a session
*
- * @param session - the session scope
+ * @param sessionScope - the session scope
* @param userConnection - the user supplied connection
*/
- public void setUserProvidedTransaction(SessionScope session, Connection userConnection) {
- if (session.getTransactionState() == TransactionState.STATE_USER_PROVIDED) {
- session.recallTransactionState();
+ public void setUserProvidedTransaction(SessionScope sessionScope, Connection userConnection) {
+ if (sessionScope.getTransactionState() == TransactionState.STATE_USER_PROVIDED) {
+ sessionScope.recallTransactionState();
}
if (userConnection != null) {
Connection conn = userConnection;
- session.saveTransactionState();
- session.setTransaction(new UserProvidedTransaction(conn));
- session.setTransactionState(TransactionState.STATE_USER_PROVIDED);
+ sessionScope.saveTransactionState();
+ sessionScope.setTransaction(new UserProvidedTransaction(conn));
+ sessionScope.setTransactionState(TransactionState.STATE_USER_PROVIDED);
} else {
- session.setTransaction(null);
- session.closePreparedStatements();
- session.reset(); // used to be pushSession, which is probably incorrect.
+ sessionScope.setTransaction(null);
+ sessionScope.closePreparedStatements();
+ sessionScope.cleanup();
}
}
/**
@@ -869,32 +789,32 @@
/**
* Get a transaction for the session
*
- * @param session - the session
+ * @param sessionScope - the session
* @return - the transaction
*/
- public Transaction getTransaction(SessionScope session) {
- return session.getTransaction();
+ public Transaction getTransaction(SessionScope sessionScope) {
+ return sessionScope.getTransaction();
}
// -- Protected Methods
- protected void autoEndTransaction(SessionScope session, boolean autoStart) throws SQLException {
+ protected void autoEndTransaction(SessionScope sessionScope, boolean autoStart) throws SQLException {
if (autoStart) {
- session.getSqlMapTxMgr().endTransaction();
+ sessionScope.getSqlMapTxMgr().endTransaction();
}
}
- protected void autoCommitTransaction(SessionScope session, boolean autoStart) throws SQLException {
+ protected void autoCommitTransaction(SessionScope sessionScope, boolean autoStart) throws SQLException {
if (autoStart) {
- session.getSqlMapTxMgr().commitTransaction();
+ sessionScope.getSqlMapTxMgr().commitTransaction();
}
}
- protected Transaction autoStartTransaction(SessionScope session, boolean autoStart, Transaction trans) throws SQLException {
+ protected Transaction autoStartTransaction(SessionScope sessionScope, boolean autoStart, Transaction trans) throws SQLException {
Transaction transaction = trans;
if (autoStart) {
- session.getSqlMapTxMgr().startTransaction();
- transaction = getTransaction(session);
+ sessionScope.getSqlMapTxMgr().startTransaction();
+ transaction = getTransaction(sessionScope);
}
return transaction;
}
@@ -915,27 +835,23 @@
return key.hashCode();
}
- protected RequestScope popRequest(SessionScope session, MappedStatement mappedStatement) {
- RequestScope request = (RequestScope) requestPool.pop();
- session.incrementRequestStackDepth();
- request.setSession(session);
- mappedStatement.initRequest(request);
- return request;
+ protected StatementScope beginStatementScope(SessionScope sessionScope, MappedStatement mappedStatement) {
+ StatementScope statementScope = new StatementScope(sessionScope);
+ sessionScope.incrementRequestStackDepth();
+ mappedStatement.initRequest(statementScope);
+ return statementScope;
}
- protected void pushRequest(RequestScope request) {
- request.getSession().decrementRequestStackDepth();
- request.reset();
- requestPool.push(request);
+ protected void endStatementScope(StatementScope statementScope) {
+ statementScope.getSession().decrementRequestStackDepth();
}
- protected SessionScope popSession() {
- return (SessionScope) sessionPool.pop();
+ protected SessionScope beginSessionScope() {
+ return new SessionScope();
}
- protected void pushSession(SessionScope session) {
- session.reset();
- sessionPool.push(session);
+ protected void endSessionScope(SessionScope sessionScope) {
+ sessionScope.cleanup();
}
public ResultObjectFactory getResultObjectFactory() {