You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2008/02/20 16:05:29 UTC

svn commit: r629495 - /incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java

Author: antelder
Date: Wed Feb 20 07:05:27 2008
New Revision: 629495

URL: http://svn.apache.org/viewvc?rev=629495&view=rev
Log:
Add support for simple URIs with the jms binding

Modified:
    incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java

Modified: incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java?rev=629495&r1=629494&r2=629495&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java Wed Feb 20 07:05:27 2008
@@ -22,6 +22,8 @@
 import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
 import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
 
+import java.util.StringTokenizer;
+
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
@@ -131,9 +133,8 @@
 
         // Read binding URI
         String uri = reader.getAttributeValue(null, "uri");
-        if (uri != null) {
-            jmsBinding.setURI(uri);
-            System.err.println("JMS Binding doesn't process uri yet");
+        if (uri != null && uri.length() > 0) {
+            parseURI(uri, jmsBinding);
         }
 
         // Read correlation scheme
@@ -210,6 +211,27 @@
         jmsBinding.validate();
 
         return jmsBinding;
+    }
+
+    protected void parseURI(String uri, JMSBinding jmsBinding) {
+        if (!uri.startsWith("jms:")) {
+            throw new JMSBindingException("uri must start with the scheme 'jms:' for uri: " + uri);
+        }
+        int i = uri.indexOf('?');
+        if (i < 0) {
+            jmsBinding.setDestinationName(uri.substring(4));
+        } else {
+            jmsBinding.setDestinationName(uri.substring(4, i));
+            StringTokenizer st = new StringTokenizer(uri.substring(i+1),"&");
+            while (st.hasMoreTokens()) {
+                String s = st.nextToken();
+                if (s.startsWith("connectionFactoryName=")) {
+                    jmsBinding.setConnectionFactoryName(s.substring(22));
+                } else {
+                    throw new JMSBindingException("unknown token '" + s + "' in uri: " + uri);
+                }
+            }
+        }
     }
 
     public void resolve(JMSBinding model, ModelResolver resolver) throws ContributionResolveException {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org