[jboss-svn-commits] JBL Code SVN: r10949 - in labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing: eprs and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Apr 12 17:40:07 EDT 2007
Author: mark.little at jboss.com
Date: 2007-04-12 17:40:07 -0400 (Thu, 12 Apr 2007)
New Revision: 10949
Modified:
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/EPR.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/PortReference.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java
Log:
updates JMS URI component of EPR.
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/EPR.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/EPR.java 2007-04-12 21:36:49 UTC (rev 10948)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/EPR.java 2007-04-12 21:40:07 UTC (rev 10949)
@@ -112,7 +112,7 @@
public String toString ()
{
- return "EPR: "+_addr;
+ return "EPR: "+_addr.extendedToString();
}
public boolean equals (Object obj)
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/PortReference.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/PortReference.java 2007-04-12 21:36:49 UTC (rev 10948)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/PortReference.java 2007-04-12 21:40:07 UTC (rev 10949)
@@ -167,7 +167,7 @@
+ ":" + ext.getTag() + " : " + ext.getValue() + "/>";
}
- return "PortReference : " + addr;
+ return "PortReference < " + addr + " >";
}
/**
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java 2007-04-12 21:36:49 UTC (rev 10948)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java 2007-04-12 21:40:07 UTC (rev 10949)
@@ -89,7 +89,9 @@
copy(epr);
NodeList nl = header.getChildNodes();
-
+ String uri = null;
+ String name = null;
+
for (int i = 0; i < nl.getLength(); i++)
{
String prefix = nl.item(i).getPrefix();
@@ -104,7 +106,7 @@
} else if (tag.equals(SPECIFICATION_VERSION_TAG)) {
getAddr().addExtension(SPECIFICATION_VERSION_TAG, nl.item(i).getTextContent());
} else if (tag.equals(DESTINATION_NAME_TAG)) {
- getAddr().addExtension(DESTINATION_NAME_TAG, nl.item(i).getTextContent());
+ name = nl.item(i).getTextContent();
} else if (tag.equals(CONNECTION_FACTORY_TAG)) {
getAddr().addExtension(CONNECTION_FACTORY_TAG, nl.item(i).getTextContent());
} else if (tag.equals(JNDI_CONTEXT_FACTORY_TAG)) {
@@ -112,13 +114,16 @@
} else if (tag.equals(JNDI_PKG_PREFIX_TAG)) {
getAddr().addExtension(Context.URL_PKG_PREFIXES, nl.item(i).getTextContent());
} else if (tag.equals(JNDI_URL_TAG)) {
- getAddr().addExtension(Context.PROVIDER_URL, nl.item(i).getTextContent());
+ uri = nl.item(i).getTextContent();
} else if (tag.equals(MESSAGE_SELECTOR_TAG)) {
- getAddr().addExtension(MESSAGE_SELECTOR_TAG, nl.item(i).getTextContent());
+ getAddr().addExtension(MESSAGE_SELECTOR_TAG, nl.item(i).getTextContent());
}
}
}
}
+
+ if (uri != null)
+ setAddr(new PortReference(JMS_PROTOCOL + PROTOCOL_SEPARATOR + uri + "/" + name));
}
/**
@@ -201,26 +206,47 @@
if (destinationType.equals(QUEUE_TYPE)
|| destinationType.equals(TOPIC_TYPE))
{
- PortReference addr = new PortReference(JMS_PROTOCOL
- + PROTOCOL_SEPARATOR + destinationType);
+ String uri = "localhost"; // a default URI
+ String name = null;
+ PortReference addr = new PortReference();
+
+ if (environment!=null) {
+ for (Object key : environment.keySet()) {
+ if (key.toString().equals(JNDI_URL_TAG))
+ uri = environment.getProperty(key.toString());
+ else
+ {
+ if (key.toString().equals(DESTINATION_NAME_TAG))
+ {
+ name = environment.getProperty(key.toString());
+
+ if ((destinationName != null) && !name.equals(destinationName))
+ throw new IllegalArgumentException("Destination name inconsistency: < "+name+", "+destinationName+" >");
+ }
+ else
+ addr.addExtension(key.toString(), environment.getProperty(key.toString()));
+ }
+ }
+
+
+ }
+
+ if (name == null)
+ name = destinationName;
+
+ addr.setAddress(JMS_PROTOCOL + PROTOCOL_SEPARATOR + uri + "/" + name);
+ addr.addExtension(DESTINATION_TYPE_TAG, destinationType);
+
addr.addExtension(SPECIFICATION_VERSION_TAG, protocol);
- if (destinationName != null)
- addr.addExtension(DESTINATION_NAME_TAG, destinationName);
-
if (connection != null)
addr.addExtension(CONNECTION_FACTORY_TAG, connection);
if (messageSelector != null)
addr.addExtension(MESSAGE_SELECTOR_TAG, messageSelector);
- if (environment!=null) {
- for (Object key : environment.keySet()) {
- addr.addExtension(key.toString(), environment.getProperty(key.toString()));
- }
- }
-
+
setAddr(addr);
}
else
@@ -242,9 +268,7 @@
public final String getDestinationType() throws URISyntaxException
{
- URI uri = new URI(getAddr().getAddress());
-
- return uri.getHost(); // ;-)
+ return getAddr().getExtensionValue(DESTINATION_TYPE_TAG);
}
/**
@@ -266,7 +290,9 @@
public final String getDestinationName() throws URISyntaxException
{
- return getAddr().getExtensionValue(DESTINATION_NAME_TAG);
+ URI uri = new URI(getAddr().getAddress());
+
+ return uri.getPath().substring(1);
}
/**
More information about the jboss-svn-commits
mailing list