summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/binding-jms
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2009-02-06 15:10:58 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2009-02-06 15:10:58 +0000
commit1f051d89c95d8f886e2f8505d3eaad5f3506cf46 (patch)
tree546b9d92815078651649b10d6a8e4271e9b374f9 /branches/sca-java-1.x/modules/binding-jms
parentbd73f180b9e90af262061cf2f329a6d8612d9c53 (diff)
Add support for resourceAdapter and its properties
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@741586 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/modules/binding-jms')
-rw-r--r--branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java15
-rw-r--r--branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java8
-rw-r--r--branches/sca-java-1.x/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java39
3 files changed, 61 insertions, 1 deletions
diff --git a/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java b/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java
index e804d5058c..a3d383b4c5 100644
--- a/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java
+++ b/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java
@@ -78,6 +78,9 @@ public class JMSBinding implements BindingRRB, PolicySetAttachPoint {
private String activationSpecCreate = null;
private Map<String, BindingProperty> activationSpecProperties = new HashMap<String, BindingProperty>();
+ private String resourceAdapterName;;
+ private Map<String, BindingProperty> resourceAdapterProperties = new HashMap<String, BindingProperty>();
+
private String responseActivationSpecName = null;
private String responseActivationSpecCreate = null;
private Map<String, BindingProperty> responseActivationSpecProperties = new HashMap<String, BindingProperty>();
@@ -275,6 +278,14 @@ public class JMSBinding implements BindingRRB, PolicySetAttachPoint {
this.connectionFactoryCreate = create;
}
+ public String getResourceAdapterName() {
+ return resourceAdapterName;
+ }
+
+ public void setResourceAdapterName(String name) {
+ resourceAdapterName = name;
+ }
+
public String getActivationSpecName() {
if (requestConnectionBinding != null && requestConnectionBinding.getActivationSpecName() != null) {
return requestConnectionBinding.getActivationSpecName();
@@ -631,6 +642,10 @@ public class JMSBinding implements BindingRRB, PolicySetAttachPoint {
return connectionFactoryProperties;
}
+ public Map<String, BindingProperty> getResourceAdapterProperties() {
+ return resourceAdapterProperties;
+ }
+
public Map<String, BindingProperty> getActivationSpecProperties() {
return activationSpecProperties;
}
diff --git a/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java b/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java
index b7540e804d..81fb1969d1 100644
--- a/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java
+++ b/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java
@@ -498,7 +498,13 @@ public class JMSBindingProcessor implements StAXArtifactProcessor<JMSBinding> {
}
private void parseResourceAdapter(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
- warning("DoesntProcessResourceAdapter", jmsBinding);
+ String name = reader.getAttributeValue(null, "name");
+ if (name != null && name.length() > 0) {
+ jmsBinding.setResourceAdapterName(name);
+ } else {
+ error("MissingResourceAdapterName", reader);
+ }
+ jmsBinding.getResourceAdapterProperties().putAll(parseBindingProperties(reader));
}
/**
diff --git a/branches/sca-java-1.x/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java b/branches/sca-java-1.x/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java
index 202666278f..357e542b91 100644
--- a/branches/sca-java-1.x/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java
+++ b/branches/sca-java-1.x/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java
@@ -294,6 +294,26 @@ public class JMSBindingProcessorTestCase extends TestCase {
+ " </component>"
+ "</composite>";
+ private static final String RES_ADPT_PROPS =
+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+ + "<composite xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" targetNamespace=\"http://binding-jms\" name=\"binding-jms\">"
+ + " <component name=\"HelloWorldComponent\">"
+ + " <implementation.java class=\"services.HelloWorld\"/>"
+ + " <service name=\"HelloWorldService\">"
+ + " <binding.jms>"
+ + " <resourceAdapter name=\"r1\">"
+ + " <property name=\"xxx\" type=\"yyy\">"
+ + " some value text"
+ + " </property>"
+ + " <property name=\"two\">"
+ + " bla"
+ + " </property>"
+ + " </resourceAdapter>"
+ + " </binding.jms>"
+ + " </service>"
+ + " </component>"
+ + "</composite>";
+
private XMLInputFactory inputFactory;
private StAXArtifactProcessor<Object> staxProcessor;
private Monitor monitor;
@@ -540,4 +560,23 @@ public class JMSBindingProcessorTestCase extends TestCase {
assertEquals(null, bp2.getType());
assertEquals("bla", bp2.getValue().toString().trim());
}
+ public void testResouceAdapterProperties() throws Exception {
+ XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(RES_ADPT_PROPS));
+
+ Composite composite = (Composite)staxProcessor.read(reader);
+ JMSBinding binding = (JMSBinding) composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
+
+ assertNotNull(binding);
+ assertEquals("r1", binding.getResourceAdapterName());
+ assertNotNull(binding.getResourceAdapterProperties());
+ assertEquals(2, binding.getResourceAdapterProperties().size());
+ BindingProperty bp = binding.getResourceAdapterProperties().get("xxx");
+ assertEquals("xxx", bp.getName());
+ assertEquals("yyy", bp.getType());
+ assertEquals("some value text", bp.getValue().toString().trim());
+ BindingProperty bp2 = binding.getResourceAdapterProperties().get("two");
+ assertEquals("two", bp2.getName());
+ assertEquals(null, bp2.getType());
+ assertEquals("bla", bp2.getValue().toString().trim());
+ }
}