[Ds-java-dev] svn commit r17432 - trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice

sumedha at wso2.com sumedha at wso2.com
Tue May 27 02:19:09 PDT 2008


Author: sumedha
Date: Tue May 27 02:19:09 2008
New Revision: 17432
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=17432

Log:
Allowing user to specify commit mode to use from configuration file.

Modified:
   trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBConstants.java
   trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBUtils.java

Modified: trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBConstants.java
URL: http://wso2.org/svn/browse/wso2/trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBConstants.java?rev=17432&r1=17431&r2=17432&view=diff
==============================================================================
--- trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBConstants.java	(original)
+++ trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBConstants.java	Tue May 27 02:19:09 2008
@@ -22,6 +22,7 @@
 	public static final String PASSWORD = "org.wso2.ws.dataservice.password";
 	public static final String MIN_POOL_SIZE = "org.wso2.ws.dataservice.minpoolsize";
 	public static final String MAX_POOL_SIZE = "org.wso2.ws.dataservice.maxpoolsize";
+	public static final String AUTOCOMMIT = "org.wso2.ws.dataservice.autocommit";
 	
 	//Keys for parameters in AxisService
 	public static final String CONNECTION_CONFIG = "org.wso2.ws.dataservice.config";

Modified: trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBUtils.java
URL: http://wso2.org/svn/browse/wso2/trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBUtils.java?rev=17432&r1=17431&r2=17432&view=diff
==============================================================================
--- trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBUtils.java	(original)
+++ trunk/solutions/data-services/java/modules/core/src/main/java/org/wso2/ws/dataservice/DBUtils.java	Tue May 27 02:19:09 2008
@@ -257,6 +257,8 @@
 		String elementValue;
 		boolean hasResponse = true;
 		OMNamespace omNs = null;
+		boolean autoCommit = false;
+		
 		String sqlQuery = queryElement.getFirstChildWithName(new QName("sql")).getText();
 		try {			
 			if(queryLevel > 0){
@@ -269,7 +271,16 @@
 			//}
 			//conn = (Connection)dbConnectionParam.getValue();
 			conn = checkDBConnectionStatus(axisService, conn);
-			conn.setAutoCommit(false);
+
+			//Reading autocommit property from configuration
+			Config config = (Config)axisService.getParameterValue(DBConstants.CONNECTION_CONFIG);
+			String autoCommitValue = config.getPropertyValue(DBConstants.AUTOCOMMIT);
+			
+			if(autoCommitValue != null){
+				autoCommit = Boolean.valueOf(autoCommitValue).booleanValue();				
+			}
+			
+			conn.setAutoCommit(autoCommit);
 			CallableStatement cs = (CallableStatement)getProcessedPreparedStatement
 			(inputValues, params, paramOrder,originalParamNames,paramType, conn
 					, sqlQuery,"STORED-PROCEDURE",axisService.getName());
@@ -479,7 +490,9 @@
 		finally {
 			try {
 				if (conn != null && queryLevel == 0) {
-					conn.commit();
+					if(autoCommit){
+						conn.commit();						
+					}
 					conn.close();
 				}
 			} catch (SQLException e) {
@@ -551,7 +564,8 @@
 		OMFactory fac = null;
 		OMNamespace omNs = null;
 		Result resultObj = null;
-		//String columnDefault = null; 
+		boolean autoCommit = false;
+ 
 		
 		if(queryLevel > 0){
 			queryLevel --;
@@ -565,8 +579,16 @@
 			//}
 			//conn = (Connection)dbConnectionParam.getValue();
 			conn = checkDBConnectionStatus(axisService, conn);		
+
+			//Reading autocommit property from configuration
+			Config config = (Config)axisService.getParameterValue(DBConstants.CONNECTION_CONFIG);
+			String autoCommitValue = config.getPropertyValue(DBConstants.AUTOCOMMIT);
 			
-			conn.setAutoCommit(false);
+			if(autoCommitValue != null){
+				autoCommit = Boolean.valueOf(autoCommitValue).booleanValue();				
+			}
+			
+			conn.setAutoCommit(autoCommit);
 			PreparedStatement preparedStatement =
 				getProcessedPreparedStatement(inputValues, params, paramOrder,originalParamNames,paramType
 						, conn, sqlQuery,"SQL",axisService.getName());
@@ -740,7 +762,9 @@
 		finally {
 			try {
 				if (conn != null && queryLevel == 0) {
-					conn.commit();
+					if(! autoCommit){
+						conn.commit();						
+					}
 					conn.close();
 				}
 			} catch (SQLException e) {



More information about the Ds-java-dev mailing list