[jboss-svn-commits] JBL Code SVN: r26151 - in labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta: tests/src/org/jboss/soa/esb/addressing/eprs and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Apr 20 08:42:10 EDT 2009
Author: kevin.conner at jboss.com
Date: 2009-04-20 08:42:10 -0400 (Mon, 20 Apr 2009)
New Revision: 26151
Modified:
labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java
labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/JMSEprUnitTest.java
labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java
Log:
Fix JMSEpr handling of queue name: JBESB-2505
Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java 2009-04-20 11:50:42 UTC (rev 26150)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java 2009-04-20 12:42:10 UTC (rev 26151)
@@ -516,6 +516,7 @@
addr.setAddress(getJmsAddress(uri, name));
addr.addExtension(DESTINATION_TYPE_TAG, destinationType);
+ addr.addExtension(DESTINATION_NAME_TAG, destinationName);
addr.addExtension(SPECIFICATION_VERSION_TAG, protocol);
@@ -580,6 +581,11 @@
public final String getDestinationName() throws URISyntaxException
{
+ final String name = getAddr().getExtensionValue(DESTINATION_NAME_TAG);
+ if (name != null)
+ {
+ return name ;
+ }
URI uri = new URI(getAddr().getAddress());
return uri.getPath().substring(1);
@@ -701,16 +707,8 @@
private String getJmsAddress(final String uri, final String name)
{
try {
- final URI uriVal = new URI(uri) ;
- final String host = uriVal.getHost() ;
- if (host != null) {
- final int port = uriVal.getPort() ;
- if (port > 0) {
- return JMS_PROTOCOL + PROTOCOL_SEPARATOR + host + ":" + port + "/" + name;
- } else {
- return JMS_PROTOCOL + PROTOCOL_SEPARATOR + host + "/" + name;
- }
- }
+ final URI result = new URI(JMS_PROTOCOL, uri, name) ;
+ return result.toString() ;
} catch (final URISyntaxException urise) {}
return JMS_PROTOCOL + PROTOCOL_SEPARATOR + uri + "/" + name;
}
Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/JMSEprUnitTest.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/JMSEprUnitTest.java 2009-04-20 11:50:42 UTC (rev 26150)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/addressing/eprs/JMSEprUnitTest.java 2009-04-20 12:42:10 UTC (rev 26151)
@@ -206,20 +206,20 @@
// should default address to system property
final JMSEpr firstEpr = new JMSEpr(ONE_ONE_PROTOCOL, expectedDestinationType,
queueName, "connection", null, null, true, null, null, null, true) ;
- assertEquals("System JNDI_SERVER_URL", "jms://" + defaultProvider + "/" + queueName, firstEpr.getAddr().getAddress()) ;
+ assertEquals("System JNDI_SERVER_URL", "jms:" + JNDI_PREFIX + defaultProvider + "#" + queueName, firstEpr.getAddr().getAddress()) ;
// should use Provider URL extension
final Properties environment = new Properties() ;
environment.setProperty(Context.PROVIDER_URL, JNDI_PREFIX + extensionProvider) ;
final JMSEpr secondEpr = new JMSEpr(ONE_ONE_PROTOCOL, expectedDestinationType,
queueName, "connection", environment, null, true, null, null, null, true) ;
- assertEquals("Extension Context.PROVIDER_URL", "jms://" + extensionProvider + "/" + queueName, secondEpr.getAddr().getAddress()) ;
+ assertEquals("Extension Context.PROVIDER_URL", "jms:" + JNDI_PREFIX + extensionProvider + "#" + queueName, secondEpr.getAddr().getAddress()) ;
// should use jndi-URL property
environment.setProperty(JNDI_URL_TAG, JNDI_PREFIX + propertyJndi) ;
final JMSEpr thirdEpr = new JMSEpr(ONE_ONE_PROTOCOL, expectedDestinationType,
queueName, "connection", environment, null, true, null, null, null, true) ;
- assertEquals("Extension Context.PROVIDER_URL", "jms://" + propertyJndi + "/" + queueName, thirdEpr.getAddr().getAddress()) ;
+ assertEquals("Extension Context.PROVIDER_URL", "jms:" + JNDI_PREFIX + propertyJndi + "#" + queueName, thirdEpr.getAddr().getAddress()) ;
}
finally
{
@@ -281,6 +281,46 @@
assertEquals( transacted, jmsEpr.getTransacted() );
}
+ @Test
+ public void testDefaultURIConfig()
+ throws URISyntaxException
+ {
+ testEPRConfig(JMSEpr.QUEUE_TYPE, "queue/destinationName",
+ "ConnectionFactory", "jnp://localhost:1099",
+ "org.jnp.interfaces.NamingContextFactory",
+ "org.jboss.naming:org.jnp.interfaces") ;
+ }
+
+ @Test
+ public void testNonStandardURIConfig()
+ throws URISyntaxException
+ {
+ testEPRConfig(JMSEpr.QUEUE_TYPE, "abc/def/ghi",
+ "ConnectionFactory", "scheme://host:port/config#123456?abc=def",
+ "MyNonStandardContextFactory", "MyPkgInterfaces") ;
+ }
+
+ private void testEPRConfig(final String destinationType, final String destinationName,
+ final String connectionFactory, final String jndiURL, final String contextFactory,
+ final String pkgPrefix)
+ throws URISyntaxException
+ {
+ final Properties env = new Properties() ;
+ env.put(Context.PROVIDER_URL, jndiURL) ;
+ env.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory) ;
+ env.put(Context.URL_PKG_PREFIXES, pkgPrefix) ;
+
+ final JMSEpr jmsEpr = new JMSEpr(destinationType, destinationName, connectionFactory, env, null) ;
+ assertEquals("destinationType", destinationType, jmsEpr.getDestinationType()) ;
+ assertEquals("destinationName", destinationName, jmsEpr.getDestinationName()) ;
+ assertEquals("connectionFactory", connectionFactory, jmsEpr.getConnectionFactory()) ;
+
+ final Properties jmsEprEnv = jmsEpr.getJndiEnvironment() ;
+ assertEquals(Context.PROVIDER_URL, jndiURL, jmsEprEnv.getProperty(Context.PROVIDER_URL)) ;
+ assertEquals(Context.INITIAL_CONTEXT_FACTORY, contextFactory, jmsEprEnv.getProperty(Context.INITIAL_CONTEXT_FACTORY)) ;
+ assertEquals(Context.URL_PKG_PREFIXES, pkgPrefix, jmsEprEnv.getProperty(Context.URL_PKG_PREFIXES)) ;
+ }
+
private void assertDefaults(final String destination, final String connectionFactory, final String destinationType)
{
assertEquals( expectedDestination, destination );
Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java 2009-04-20 11:50:42 UTC (rev 26150)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java 2009-04-20 12:42:10 UTC (rev 26151)
@@ -96,7 +96,7 @@
final EPR replyToEPR = toESBMessage.getHeader().getCall().getReplyTo();
- assertEquals( "jms://localhost/testDest", replyToEPR.getAddr().getAddress() );
+ assertEquals( "jms:localhost#testDest", replyToEPR.getAddr().getAddress() );
final String connectionFactory = replyToEPR.getAddr().getExtensionValue( JMSEpr.CONNECTION_FACTORY_TAG );
assertEquals ( "ConnectionFactory", connectionFactory );
More information about the jboss-svn-commits
mailing list