[jboss-svn-commits] JBL Code SVN: r17288 - in labs/jbossesb/trunk/product/rosetta: src/org/jboss/soa/esb/notification/jms and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Dec 17 13:43:23 EST 2007
Author: beve
Date: 2007-12-17 13:43:23 -0500 (Mon, 17 Dec 2007)
New Revision: 17288
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/notification/jms/DefaultJMSPropertiesSetter.java
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/notification/jms/DefaultJMSPropertiesSetterUnitTest.java
Log:
Work for JBESB-1414 "Valid JMSMessageID not parsed correctly"
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-12-17 16:53:55 UTC (rev 17287)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetter.java 2007-12-17 18:43:23 UTC (rev 17288)
@@ -72,7 +72,12 @@
{
try
{
- toESBMessage.getHeader().getCall().setMessageID( new URI( fromJMSMessage.getJMSMessageID() ));
+ String messageID = fromJMSMessage.getJMSMessageID();
+ if ( messageID.contains( "<" ) )
+ messageID = messageID.replace( "<", "<" );
+ if ( messageID.contains( ">" ) )
+ messageID = messageID.replace( ">", ">" );
+ toESBMessage.getHeader().getCall().setMessageID( new URI( messageID ));
}
catch (URISyntaxException e)
{
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-12-17 16:53:55 UTC (rev 17287)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetter.java 2007-12-17 18:43:23 UTC (rev 17288)
@@ -56,6 +56,7 @@
* Client JMSX Group Seq.
*/
private static final String JMSX_GROUP_SEQ = "JMSXGroupSeq" ;
+
/**
* Set JMS Header fields on the outgoing JMS Message.
* </p>
@@ -85,14 +86,18 @@
toJMSMessage.setJMSCorrelationID( correlationID.getFragment() );
}
}
-
private void setJMSMessageID( final org.jboss.soa.esb.message.Message fromESBMessage , final Message toJMSMessage ) throws JMSException
{
final URI messageID = fromESBMessage.getHeader().getCall().getMessageID();
if ( messageID != null )
{
- log.debug( "Setting outgoing JMSCorreletionID to : " + messageID );
- toJMSMessage.setJMSCorrelationID( messageID.toString() );
+ String msgID = messageID.toString();
+ if ( msgID.contains("<") )
+ msgID = msgID.replace( "<", "<" );
+ if ( msgID.contains(">") )
+ msgID = msgID.replace( ">", ">" );
+ log.debug( "Setting outgoing JMSCorreletionID to : " + msgID );
+ toJMSMessage.setJMSCorrelationID( msgID );
}
}
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-12-17 16:53:55 UTC (rev 17287)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java 2007-12-17 18:43:23 UTC (rev 17288)
@@ -128,6 +128,18 @@
assertEquals( propertyValue, toESBMessage.getProperties().getProperty( propertyKey )) ;
}
+ @Test
+ public void setPropertiesFromJMSMessage_MessageID_xml_tag() throws JMSException
+ {
+ final String expectedMessageID = "ID:<kalle>";
+ final String expectedEncodedMessageID = "ID:<kalle>";
+ fromJMSTextMessage.setJMSMessageID( expectedMessageID );
+ strategy.setPropertiesFromJMSMessage( fromJMSTextMessage , toESBMessage );
+
+ URI messageID = toESBMessage.getHeader().getCall().getMessageID();
+ assertEquals( expectedEncodedMessageID, messageID.toString() );
+ }
+
@Before
public void setup()
{
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-12-17 16:53:55 UTC (rev 17287)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetterUnitTest.java 2007-12-17 18:43:23 UTC (rev 17288)
@@ -191,6 +191,17 @@
assertEquals ( propertyValue, toJMSMessage.getByteProperty( propertyKey ) );
}
+ @Test
+ public void setJMSProperties_messageID_encoded() throws JMSException, URISyntaxException
+ {
+ final String expectedMessageID = "ID:<kalle>";
+ final String encodedMessageID = "ID:<kalle>";
+ fromESBMessage.getHeader().getCall().setMessageID( new URI ( encodedMessageID ) );
+
+ strategy.setJMSProperties( fromESBMessage, toJMSMessage );
+ assertEquals ( expectedMessageID, toJMSMessage.getJMSCorrelationID() );
+ }
+
@Before
public void before() throws JMSException
{
More information about the jboss-svn-commits
mailing list