[jboss-svn-commits] JBL Code SVN: r11409 - in labs/jbossesb/trunk/product/core/rosetta/src/org/jboss: internal/soa/esb/message/metadata and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Apr 27 08:00:25 EDT 2007
Author: kevin.conner at jboss.com
Date: 2007-04-27 08:00:25 -0400 (Fri, 27 Apr 2007)
New Revision: 11409
Modified:
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/metadata/MetaDataFilter.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/filter/FilterManager.java
Log:
Tidy up filter manager processing, made MetaDataFilter more robust: JBESB-532
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java 2007-04-27 10:50:11 UTC (rev 11408)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java 2007-04-27 12:00:25 UTC (rev 11409)
@@ -44,7 +44,6 @@
import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.couriers.CourierException;
import org.jboss.soa.esb.couriers.CourierUtil;
-import org.jboss.soa.esb.couriers.filter.FilterManager;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.util.Util;
@@ -209,8 +208,6 @@
.toString();
name += _outputSuffix;
- message = FilterManager.getInstance().doOutputWork(message);
-
tmpFile = CourierUtil.messageToLocalFile(dir, message);
handler.renameFile(tmpFile, new File(dir, name));
@@ -240,8 +237,6 @@
String name = message.getHeader().getCall().getMessageID().toString();
name += _outputSuffix;
-
- message = FilterManager.getInstance().doOutputWork(message);
tmpFile = CourierUtil.messageToLocalFile(dir, message);
@@ -303,8 +298,6 @@
else
handler.renameFile(work, done);
- result = FilterManager.getInstance().doInputWork(result);
-
return result;
}
try
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java 2007-04-27 10:50:11 UTC (rev 11408)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java 2007-04-27 12:00:25 UTC (rev 11409)
@@ -49,7 +49,6 @@
import org.jboss.soa.esb.addressing.MalformedEPRException;
import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.couriers.CourierException;
-import org.jboss.soa.esb.couriers.filter.FilterManager;
import org.jboss.soa.esb.helpers.KeyValuePair;
import org.jboss.soa.esb.helpers.NamingContext;
import org.jboss.soa.esb.message.Message;
@@ -148,12 +147,6 @@
throw new CourierException(e);
}
- /*
- * Add some message properties.
- */
-
- message = FilterManager.getInstance().doOutputWork(message);
-
while (null != _messageProducer)
{
try
@@ -362,8 +355,6 @@
Message msg = Util.deserialize(obj);
- msg = FilterManager.getInstance().doOutputWork(msg);
-
return msg;
}
catch (JMSException e1)
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java 2007-04-27 10:50:11 UTC (rev 11408)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java 2007-04-27 12:00:25 UTC (rev 11409)
@@ -35,7 +35,6 @@
import org.jboss.soa.esb.addressing.MalformedEPRException;
import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
import org.jboss.soa.esb.couriers.CourierException;
-import org.jboss.soa.esb.couriers.filter.FilterManager;
import org.jboss.soa.esb.helpers.persist.JdbcCleanConn;
import org.jboss.soa.esb.helpers.persist.SimpleDataSource;
import org.jboss.soa.esb.message.Message;
@@ -148,8 +147,6 @@
}
}
- message = FilterManager.getInstance().doOutputWork(message);
-
while (_conn != null)
{
try
@@ -206,8 +203,6 @@
if (null == (result = tryToPickup(messageId)))
continue;
- result = FilterManager.getInstance().doInputWork(result);
-
return result;
}
}
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java 2007-04-27 10:50:11 UTC (rev 11408)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java 2007-04-27 12:00:25 UTC (rev 11409)
@@ -32,6 +32,7 @@
import org.jboss.soa.esb.couriers.CourierTimeoutException;
import org.jboss.soa.esb.couriers.CourierUtil;
import org.jboss.soa.esb.couriers.TwoWayCourier;
+import org.jboss.soa.esb.couriers.filter.FilterManager;
import org.jboss.soa.esb.message.Message;
/**
@@ -43,6 +44,8 @@
public class TwoWayCourierImpl implements TwoWayCourier
{
private DeliverOnlyCourier _deliverCourier;
+
+ private EPR _toEPR ;
private PickUpOnlyCourier _pickupCourier;
@@ -72,6 +75,7 @@
try
{
_deliverCourier = getDeliverCourier(toEPR);
+ _toEPR = toEPR ;
}
finally
{
@@ -155,6 +159,10 @@
{
if (null == _deliverCourier)
throw new CourierException("No deliverAsync courier");
+ message.getHeader().getCall().setTo(_toEPR) ;
+
+ message = FilterManager.getInstance().doOutputWork(message);
+
return _deliverCourier.deliver(message);
}
@@ -182,7 +190,9 @@
{
if (null == courier)
throw new CourierException("No courier defined for pick ups");
- return courier.pickup(waitTime);
+ final Message result = courier.pickup(waitTime);
+
+ return (result == null ? null : FilterManager.getInstance().doInputWork(result)) ;
}
public void cleanup ()
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/metadata/MetaDataFilter.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/metadata/MetaDataFilter.java 2007-04-27 10:50:11 UTC (rev 11408)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/metadata/MetaDataFilter.java 2007-04-27 12:00:25 UTC (rev 11409)
@@ -37,6 +37,7 @@
import org.jboss.soa.esb.couriers.CourierException;
import org.jboss.soa.esb.couriers.filter.InputOutputFilter;
import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Properties;
/**
* An inputoutput filter is called when the message is being received/sent and after it
@@ -53,93 +54,94 @@
{
public Message onOutput (Message msg) throws CourierException
{
- if (msg == null)
- return null;
-
+ final Environment.Transports type ;
+ final String name ;
EPR destination = msg.getHeader().getCall().getTo();
- Environment.Transports type = Environment.Transports.JMS;
- String name = null;
-
- if (destination instanceof FTPEpr)
- {
- try
- {
- type = Environment.Transports.FTP;
-
- String dir = ModulePropertyManager.getPropertyManager(
- ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
- Environment.FTP_LOCALDIR, System.getProperty("java.io.tmpdir"));
-
- name = dir + File.pathSeparator + msg.getHeader().getCall().getMessageID().toString() +
- ((FTPEpr) destination).getPostDirectory();
- }
- catch (URISyntaxException ex)
- {
- throw new CourierException(ex);
- }
- catch (Exception ex)
- {
- throw new CourierException(ex);
- }
- }
- else
- {
- if (destination instanceof FileEpr)
- {
- try
- {
- type = Environment.Transports.File;
-
- name = ((FileEpr) destination).getURL() + File.pathSeparator +
- msg.getHeader().getCall().getMessageID().toString() + ((FileEpr) destination).getPostSuffix();
- }
- catch (MalformedURLException ex)
- {
- throw new CourierException(ex);
- }
- catch (URISyntaxException ex)
- {
- throw new CourierException(ex);
- }
- catch (Exception ex)
- {
- throw new CourierException(ex);
- }
- }
- else
- {
- if (destination instanceof JMSEpr)
- {
- type = Environment.Transports.JMS;
-
- name = destination.getAddr().toString();
- }
- else
- {
- if (destination instanceof JDBCEpr)
- {
- type = Environment.Transports.SQL;
-
- name = destination.getAddr().toString();
- }
- }
- }
- }
-
- msg.getProperties().setProperty(Environment.TRANSPORT_TYPE, type);
- msg.getProperties().setProperty(Environment.MESSAGE_SOURCE, name);
- msg.getProperties().setProperty(Environment.MESSAGE_ENTRY_TIME, Calendar.getInstance().getTime().toString());
-
- return msg;
+ if (destination != null)
+ {
+ if (destination instanceof FTPEpr)
+ {
+ try
+ {
+ type = Environment.Transports.FTP;
+
+ String dir = ModulePropertyManager.getPropertyManager(
+ ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
+ Environment.FTP_LOCALDIR, System.getProperty("java.io.tmpdir"));
+
+ name = dir + File.pathSeparator + msg.getHeader().getCall().getMessageID().toString() +
+ ((FTPEpr) destination).getPostDirectory();
+ }
+ catch (URISyntaxException ex)
+ {
+ throw new CourierException(ex);
+ }
+ }
+ else if (destination instanceof FileEpr)
+ {
+ try
+ {
+ type = Environment.Transports.File;
+
+ name = ((FileEpr) destination).getURL() + File.pathSeparator +
+ msg.getHeader().getCall().getMessageID().toString() + ((FileEpr) destination).getPostSuffix();
+ }
+ catch (MalformedURLException ex)
+ {
+ throw new CourierException(ex);
+ }
+ catch (URISyntaxException ex)
+ {
+ throw new CourierException(ex);
+ }
+ }
+ else if (destination instanceof JMSEpr)
+ {
+ type = Environment.Transports.JMS;
+
+ name = destination.getAddr().toString();
+ }
+ else if (destination instanceof JDBCEpr)
+ {
+ type = Environment.Transports.SQL;
+
+ name = destination.getAddr().toString();
+ }
+ else
+ {
+ type = null ;
+ name = null ;
+ }
+ }
+ else
+ {
+ type = null ;
+ name = null ;
+ }
+
+ final Properties props = msg.getProperties() ;
+ setProperty(props, Environment.TRANSPORT_TYPE, type) ;
+ setProperty(props, Environment.MESSAGE_SOURCE, name);
+ props.setProperty(Environment.MESSAGE_ENTRY_TIME, Calendar.getInstance().getTime().toString());
+ return msg;
}
public Message onInput (Message msg) throws CourierException
{
- if (msg == null)
- return null;
-
msg.getProperties().setProperty(Environment.MESSAGE_EXIT_TIME, Calendar.getInstance().getTime().toString());
return msg;
}
+
+ private void setProperty(final Properties props, final String name, final Object value)
+ {
+ if (value == null)
+ {
+ props.remove(name) ;
+ }
+ else
+ {
+ props.setProperty(name, value) ;
+ }
+ }
}
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/filter/FilterManager.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/filter/FilterManager.java 2007-04-27 10:50:11 UTC (rev 11408)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/filter/FilterManager.java 2007-04-27 12:00:25 UTC (rev 11409)
@@ -67,7 +67,7 @@
public Message doOutputWork (Message msg) throws CourierException
{
- if (_filters == null)
+ if ((_filters == null) || (msg == null))
return msg;
for (int i = 0; i < _filters.length; i++)
@@ -90,7 +90,7 @@
public Message doInputWork (Message msg) throws CourierException
{
- if (_filters == null)
+ if ((_filters == null) || (msg == null))
return msg;
for (int i = 0; i < _filters.length; i++)
More information about the jboss-svn-commits
mailing list