[jboss-svn-commits] JBL Code SVN: r11635 - in labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb: message/metadata and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu May 3 06:07:34 EDT 2007


Author: kevin.conner at jboss.com
Date: 2007-05-03 06:07:34 -0400 (Thu, 03 May 2007)
New Revision: 11635

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/message/metadata/MetaDataFilter.java
Log:
Add message ID to messages if not set: JBESB-541

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-05-03 09:41:00 UTC (rev 11634)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java	2007-05-03 10:07:34 UTC (rev 11635)
@@ -22,6 +22,11 @@
 
 package org.jboss.internal.soa.esb.couriers;
 
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.UUID;
+
+import org.jboss.soa.esb.addressing.Call;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.addressing.MalformedEPRException;
 import org.jboss.soa.esb.addressing.eprs.FileEpr;
@@ -159,11 +164,36 @@
 	{
 		if (null == _deliverCourier)
 			throw new CourierException("No deliverAsync courier");
-                message.getHeader().getCall().setTo(_toEPR) ;
+                final Call call = message.getHeader().getCall() ;
+                call.setTo(_toEPR) ;
                 
-                message = FilterManager.getInstance().doOutputWork(message);
-                
-		return _deliverCourier.deliver(message);
+                final boolean setMessageID = call.getMessageID() == null;
+                if (setMessageID)
+                {
+                    final String messageID = UUID.randomUUID().toString() ;
+                    try
+                    {
+                        call.setMessageID(new URI(messageID)) ;
+                    }
+                    catch (final URISyntaxException urise)
+                    {
+                        throw new MalformedEPRException("Failed to set message ID to " + messageID) ;
+                    }
+                }
+
+                try
+                {
+                    message = FilterManager.getInstance().doOutputWork(message);
+                    
+                    return _deliverCourier.deliver(message);
+                }
+                finally
+                {
+                    if (setMessageID)
+                    {
+                        call.setMessageID(null) ;
+                    }
+                }
 	}
 
 	/**

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-05-03 09:41:00 UTC (rev 11634)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/metadata/MetaDataFilter.java	2007-05-03 10:07:34 UTC (rev 11635)
@@ -69,7 +69,7 @@
         							ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
         									Environment.FTP_LOCALDIR, System.getProperty("java.io.tmpdir"));
         				
-        				name = dir + File.pathSeparator + msg.getHeader().getCall().getMessageID().toString() +
+        				name = dir + File.separator + msg.getHeader().getCall().getMessageID().toString() +
         					((FTPEpr) destination).getPostDirectory();
         			}
         			catch (URISyntaxException ex)
@@ -83,7 +83,7 @@
         			{
         				type = Environment.Transports.File;
         				
-        				name = ((FileEpr) destination).getURL() + File.pathSeparator + 
+        				name = ((FileEpr) destination).getURL() + File.separator + 
         					msg.getHeader().getCall().getMessageID().toString() + ((FileEpr) destination).getPostSuffix();
         			}
         			catch (MalformedURLException ex)




More information about the jboss-svn-commits mailing list