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