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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Aug 3 10:06:50 EDT 2007


Author: beve
Date: 2007-08-03 10:06:50 -0400 (Fri, 03 Aug 2007)
New Revision: 13997

Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetter.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetterUnitTest.java
Log:
Added a check to make sure that properties that are added as jms properties have keys that are valid java identifiers.


Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetter.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetter.java	2007-08-03 14:06:09 UTC (rev 13996)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetter.java	2007-08-03 14:06:50 UTC (rev 13997)
@@ -28,6 +28,7 @@
 
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.message.Properties;
+import org.jboss.util.Strings;
 
 /**
  * Default impl of JMSPropertiesSetter.
@@ -69,6 +70,7 @@
 	private void setJMSMessageID( final org.jboss.soa.esb.message.Message fromESBMessage , final Message toJMSMessage ) throws JMSException 
 	{ 	
 		final URI messageID = fromESBMessage.getHeader().getCall().getMessageID();
+		log.debug( "MessageID  is: " + messageID );
 		if ( messageID != null )
 		{
 			log.debug( "Setting outgoing JMSCorreletionID to : " + messageID );
@@ -92,16 +94,15 @@
 		Properties properties = fromESBMessage.getProperties();
 		for ( String key : properties.getNames() )
 		{
-			log.debug( "Property name : " + key );
+			if ( !Strings.isValidJavaIdentifier( key ))
+				continue;
+			
 			Object property = properties.getProperty( key );
-			if ( property != null) {
-                try {
-                    toJMSMessage.setObjectProperty( key, property );
-                } catch(Exception e) {
-                    log.error("Failed to set object property '" + key + "' to '" + property + " (" + property.getClass().getName() + ")': " + e.getMessage());
-                }
-            }
-        }
+			if ( property != null && ( property instanceof String  ) )
+			{
+				toJMSMessage.setStringProperty( key, (String) property );
+			}
+		}
 	}
 
 }

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetterUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetterUnitTest.java	2007-08-03 14:06:09 UTC (rev 13996)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetterUnitTest.java	2007-08-03 14:06:50 UTC (rev 13997)
@@ -21,6 +21,7 @@
  */
 package org.jboss.soa.esb.notification.jms;
 
+import static org.junit.Assert.*;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
@@ -37,6 +38,7 @@
 import org.jboss.soa.esb.message.format.MessageFactory;
 import org.jboss.soa.esb.notification.jms.DefaultJMSPropertiesSetter;
 import org.jboss.soa.esb.notification.jms.JMSPropertiesSetter;
+import org.jboss.util.Strings;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockejb.jms.TextMessageImpl;
@@ -87,14 +89,26 @@
 	}
 	
 	@Test
+	public void setJMSProperties_with_set_properties_negative() throws JMSException, URISyntaxException
+	{
+		final String propertyKey = "org.jboss.soa.esb.message.time.dod";
+		final String propertyValue = "myPropertyValue";
+		fromESBMessage.getProperties().setProperty( propertyKey, propertyValue );
+		
+		strategy.setJMSProperties( fromESBMessage, toJMSMessage );
+		
+		String value = toJMSMessage.getStringProperty( propertyKey );
+		assertTrue ( value == null  );
+	}
+	
+	@Test
 	public void setJMSProperties_with_set_properties() throws JMSException, URISyntaxException
 	{
-		final String propertyKey = "myProperty";
+		final String propertyKey = "name";
 		final String propertyValue = "myPropertyValue";
 		fromESBMessage.getProperties().setProperty( propertyKey, propertyValue );
 		
 		strategy.setJMSProperties( fromESBMessage, toJMSMessage );
-		
 		assertEquals ( propertyValue, toJMSMessage.getStringProperty( propertyKey ) );
 	}
 	




More information about the jboss-svn-commits mailing list