[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