[jboss-svn-commits] JBL Code SVN: r15152 - in labs/jbossesb/trunk/product/rosetta: tests/src/org/jboss/soa/esb/listeners/gateway and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Sep 16 09:39:21 EDT 2007


Author: beve
Date: 2007-09-16 09:39:20 -0400 (Sun, 16 Sep 2007)
New Revision: 15152

Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetter.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java
Log:
Work for JBESB-1023 "DefaultESBPropertiesSetter setExpiration should calculate the TTL from the JMSExpiration value"


Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetter.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetter.java	2007-09-16 12:33:33 UTC (rev 15151)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetter.java	2007-09-16 13:39:20 UTC (rev 15152)
@@ -129,7 +129,11 @@
 	{
 		if( fromJMSMessage.getJMSExpiration() != 0 )
 		{
-			toESBMessage.getProperties().setProperty( JMSPropertiesSetter.JMS_EXPIRATION, fromJMSMessage.getJMSExpiration() );
+			long ttl = fromJMSMessage.getJMSExpiration() - System.currentTimeMillis();
+			if ( ttl < 0 )
+				ttl = javax.jms.Message.DEFAULT_TIME_TO_LIVE;
+			log.debug( "Setting JMS Expiration : " + ttl );
+			toESBMessage.getProperties().setProperty( JMSPropertiesSetter.JMS_EXPIRATION, ttl );
 		}
 	}
 	

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java	2007-09-16 12:33:33 UTC (rev 15151)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java	2007-09-16 13:39:20 UTC (rev 15152)
@@ -22,6 +22,7 @@
 package org.jboss.soa.esb.listeners.gateway;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import java.net.URI;
 
@@ -102,13 +103,17 @@
 	}
 	
 	@Test
-	public void setPropertiesFromJMSMessage_Expiration() throws JMSException
+	public void setPropertiesFromJMSMessage_Expiration() throws JMSException, InterruptedException
 	{
-		final long expire = 1234l;
-		fromJMSTextMessage.setJMSExpiration( expire );
+		final long ttl = 5000l;
+		final long expirationTime = System.currentTimeMillis() + ttl;
+		fromJMSTextMessage.setJMSExpiration( expirationTime );
+		
 		strategy.setPropertiesFromJMSMessage( fromJMSTextMessage , toESBMessage );
 		
-		assertEquals( expire, toESBMessage.getProperties().getProperty( JMSPropertiesSetter.JMS_EXPIRATION ) );
+		Long actualExpiration = (Long)toESBMessage.getProperties().getProperty( JMSPropertiesSetter.JMS_EXPIRATION );
+		assertTrue( actualExpiration != 0 );
+		assertTrue( actualExpiration > 0 );
 	}
 	
 	@Test




More information about the jboss-svn-commits mailing list