[jboss-svn-commits] JBL Code SVN: r8592 - in labs/jbossesb/trunk/product: core/listeners/src/org/jboss/soa/esb/listeners/gateway samples/quickstarts/helloworld_sql_action
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Dec 24 18:35:10 EST 2006
Author: estebanschifman
Date: 2006-12-24 18:35:04 -0500 (Sun, 24 Dec 2006)
New Revision: 8592
Added:
labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/create.sql
labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/populate.sql
Modified:
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
Log:
Adapt SqlTableGatewayListener to new configuration
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java 2006-12-24 23:33:44 UTC (rev 8591)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java 2006-12-24 23:35:04 UTC (rev 8592)
@@ -27,6 +27,7 @@
import java.lang.reflect.Method;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -50,7 +51,6 @@
import org.jboss.soa.esb.helpers.persist.SimpleDataSource;
import org.jboss.soa.esb.listeners.ListenerTagNames;
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.Properties;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.services.registry.RegistryException;
import org.jboss.soa.esb.util.Util;
@@ -131,20 +131,21 @@
continue;
}
Message message = (Message)obj;
- if(_composerClass.equals(PackageRowContents.class))
- {
- Properties props = message.getProperties();
- props.setProperty(JDBCEpr.DRIVER_TAG ,_driver);
- props.setProperty(JDBCEpr.URL_TAG ,_url);
- props.setProperty(JDBCEpr.USERNAME_TAG ,_user);
- props.setProperty(JDBCEpr.PASSWORD_TAG , _password);
-
- }
+
+// if(_composerClass.equals(PackageRowContents.class))
+// {
+// Properties props = message.getProperties();
+// props.setProperty(JDBCEpr.DRIVER_TAG ,_driver);
+// props.setProperty(JDBCEpr.URL_TAG ,_url);
+// props.setProperty(JDBCEpr.USERNAME_TAG ,_user);
+// props.setProperty(JDBCEpr.PASSWORD_TAG , _password);
+//
+// }
boolean bSent = false;
for (EPR current : _targetEprs)
{
_courier = CourierFactory.getCourier(current);
- if (_courier.deliver((org.jboss.soa.esb.message.Message)obj))
+ if (_courier.deliver(message))
{
bSent = true;
break;
@@ -240,16 +241,23 @@
_user = _controller.obtainAtt(_config, JDBCEpr.USERNAME_TAG , null);
_password = _controller.obtainAtt(_config, JDBCEpr.PASSWORD_TAG , "");
- _tableName = _controller.obtainAtt(_config, ListenerTagNames.SQL_TABLE_NAME_TAG,null);
+ _tableName = _config.getAttribute(ListenerTagNames.SQL_TABLE_NAME_TAG);
+ if (null==_tableName)
+ _tableName = _config.getAttribute(JDBCEpr.TABLE_NAME_TAG,null);
if (Util.isNullString(_tableName))
throw new ConfigurationException("Empty or invalid table name");
- _selectFields = _controller.obtainAtt(_config, ListenerTagNames.SQL_SELECT_FIELDS_TAG,null);
+
+ _selectFields = _controller.obtainAtt(_config, ListenerTagNames.SQL_SELECT_FIELDS_TAG,"*");
if (Util.isNullString(_selectFields))
throw new ConfigurationException("Empty or invalid list of select fields");
- _keyFields = _controller.obtainAtt(_config, ListenerTagNames.SQL_KEY_FIELDS_TAG,null);
+ _keyFields = _config.getAttribute(ListenerTagNames.SQL_KEY_FIELDS_TAG);
+ if (null==_keyFields)
+ _keyFields = _config.getAttribute(JDBCEpr.MESSAGE_ID_COLUMN_TAG,null);
if (Util.isNullString(_keyFields))
throw new ConfigurationException("Empty or invalid list of key fields");
- _inProcessField = _controller.obtainAtt(_config, ListenerTagNames.SQL_IN_PROCESS_FIELD_TAG,null);
+ _inProcessField = _config.getAttribute(ListenerTagNames.SQL_IN_PROCESS_FIELD_TAG);
+ if (null==_inProcessField)
+ _inProcessField=_config.getAttribute(JDBCEpr.STATUS_COLUMN_TAG);
if (Util.isNullString(_inProcessField))
throw new ConfigurationException("A valid inProcessField attribute must be specified");
@@ -275,22 +283,25 @@
if (_columns.length < 1)
throw new Exception("Empty list of select fields");
- Set<String>colSet = new HashSet<String>(Arrays.asList(_columns));
_keys = _keyFields.split(",");
- if (_keys.length < 1)
- throw new Exception("Empty list of keyFields");
- for(String currKey : _keys)
+ if (! "*".equals(_selectFields))
{
- if (colSet.contains(currKey))
- continue;
- else
- { StringBuilder sb = new StringBuilder()
- .append("All key field names in the <").append(ListenerTagNames.SQL_KEY_FIELDS_TAG)
- .append("> attribute must be in the ").append(ListenerTagNames.SQL_SELECT_FIELDS_TAG)
- .append("list - '").append(currKey).append("' is not there");
- ;
- throw new ConfigurationException(sb.toString());
- }
+ Set<String>colSet = new HashSet<String>(Arrays.asList(_columns));
+ if (_keys.length < 1)
+ throw new Exception("Empty list of keyFields");
+ for(String currKey : _keys)
+ {
+ if (colSet.contains(currKey))
+ continue;
+ else
+ { StringBuilder sb = new StringBuilder()
+ .append("All key field names in the <").append(ListenerTagNames.SQL_KEY_FIELDS_TAG)
+ .append("> attribute must be in the ").append(ListenerTagNames.SQL_SELECT_FIELDS_TAG)
+ .append("list - '").append(currKey).append("' is not there");
+ ;
+ throw new ConfigurationException(sb.toString());
+ }
+ }
}
prepareStatements();
} //________________________________
@@ -349,14 +360,17 @@
PreparedStatement PS = oConn.prepareStatement(sScan);
ResultSet RS = oConn.execQueryWait(PS,1);
+ ResultSetMetaData meta = RS.getMetaData();
while (RS.next())
{
Map<String,Object> row = new HashMap<String,Object>();
- int iCurr = 0;
+ for (int iCurr = 1; iCurr<=meta.getColumnCount(); iCurr++)
+ {
+ String sCol = meta.getColumnName(iCurr);
+ if (!_inProcessField.equals(sCol))
+ row.put(sCol,RS.getObject(iCurr));
+ }
- for (String sColName : _columns)
- row.put(sColName,RS.getObject(++iCurr));
-
oResults.add(row);
}
}
@@ -364,7 +378,7 @@
{
_logger.warn("Some triggers might not have been returned",e);
}
- _logger.info("Returning " + oResults.size() + " rows.");
+ _logger.debug("Returning " + oResults.size() + " rows.\n");
return oResults;
} //________________________________
Added: labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/create.sql
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/create.sql 2006-12-24 23:33:44 UTC (rev 8591)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/create.sql 2006-12-24 23:35:04 UTC (rev 8592)
@@ -0,0 +1,10 @@
+-- drop database test_sql_gateway;
+create database test_sql_gateway;
+use test_sql_gateway;
+create table gateway_table
+(
+unique_id serial
+,data_column text
+,status_col text
+);
+create unique index uid_index on gateway_table (unique_id);
Added: labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/populate.sql
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/populate.sql 2006-12-24 23:33:44 UTC (rev 8591)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld_sql_action/populate.sql 2006-12-24 23:35:04 UTC (rev 8592)
@@ -0,0 +1,6 @@
+use test_sql_gateway;
+insert into gateway_table values(0,'data 111111','p');
+insert into gateway_table values(0,'data 22','p');
+insert into gateway_table values(0,'data 333333333333111111','p');
+insert into gateway_table values(0,'data d d d d','p');
+insert into gateway_table values(0,'data last record','p');
More information about the jboss-svn-commits
mailing list