[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