[jboss-svn-commits] JBL Code SVN: r17663 - labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jan 10 01:06:10 EST 2008
Author: tcunning
Date: 2008-01-10 01:06:09 -0500 (Thu, 10 Jan 2008)
New Revision: 17663
Modified:
labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
Log:
bug:JBESB-1441
Insert timestamp on change.
Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java 2008-01-09 20:53:35 UTC (rev 17662)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java 2008-01-10 06:06:09 UTC (rev 17663)
@@ -33,6 +33,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -351,7 +352,11 @@
if (Util.isNullString(_inProcessField))
throw new ConfigurationException(
"A valid inProcessField attribute must be specified");
-
+ _timestamp = ListenerUtil.getValue(_config,
+ JDBCEpr.TIMESTAMP_COLUMN_TAG, "");
+ if (_timestamp.trim().length() < 1)
+ _logger.debug("No value specified for: "
+ + ListenerTagNames.SQL_TIMESTAMP_TAG);
_where = ListenerUtil.getValue(_config,
ListenerTagNames.SQL_WHERE_CONDITION_TAG, "");
if (_where.trim().length() < 1)
@@ -587,8 +592,11 @@
*/
protected String updateStatement() {
StringBuilder sb = new StringBuilder().append("update ").append(
- _tableName).append(" set ").append(_inProcessField).append(
- " = ? where ").append(_inProcessField).append(" = ?");
+ _tableName).append(" set ").append(_inProcessField).append(" = ? ");
+ if (_timestamp.trim().length() < 1) {
+ sb.append(", " + _timestamp + " = ? ");
+ }
+ sb.append("where ").append(_inProcessField).append(" = ?");
for (String sCurr : _keys) {
sb.append(" and ").append(sCurr).append(" = ?");
}
@@ -713,6 +721,9 @@
try {
int iParm = 3;
+ if (_timestamp.trim().length() < 1) {
+ iParm++;
+ }
List<String> tempKeys = new ArrayList<String>();
for (String key : _currentRow.keySet()) {
@@ -741,8 +752,13 @@
}
try {
- _PSupdate.setString(1, getStatus(toState));
- _PSupdate.setString(2, getStatus(fromState));
+ int counter = 1;
+ _PSupdate.setString(counter++, getStatus(toState));
+ if (_timestamp.trim().length() < 1) {
+ Date now = new Date();
+ _PSupdate.setString(counter++, now.toString());
+ }
+ _PSupdate.setString(counter++, getStatus(fromState));
final int count = getDbConn().execUpdWait(_PSupdate, 5);
if (count == 1) {
getDbConn().commit();
@@ -846,7 +862,7 @@
protected String _driver, _url, _user, _password, _datasource;
- protected String _tableName, _selectFields, _keyFields;
+ protected String _tableName, _selectFields, _keyFields, _timestamp;
protected String _where, _orderBy;
More information about the jboss-svn-commits
mailing list