From 1f051d89c95d8f886e2f8505d3eaad5f3506cf46 Mon Sep 17 00:00:00 2001 From: antelder Date: Fri, 6 Feb 2009 15:10:58 +0000 Subject: Add support for resourceAdapter and its properties git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@741586 13f79535-47bb-0310-9956-ffa450edef68 --- .../tuscany/sca/binding/jms/impl/JMSBinding.java | 15 +++++++++ .../sca/binding/jms/impl/JMSBindingProcessor.java | 8 ++++- .../jms/impl/JMSBindingProcessorTestCase.java | 39 ++++++++++++++++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) 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 activationSpecProperties = new HashMap(); + private String resourceAdapterName;; + private Map resourceAdapterProperties = new HashMap(); + private String responseActivationSpecName = null; private String responseActivationSpecCreate = null; private Map responseActivationSpecProperties = new HashMap(); @@ -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 getResourceAdapterProperties() { + return resourceAdapterProperties; + } + public Map 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 { } 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 { + " " + ""; + private static final String RES_ADPT_PROPS = + "" + + "" + + " " + + " " + + " " + + " " + + " " + + " " + + " some value text" + + " " + + " " + + " bla" + + " " + + " " + + " " + + " " + + " " + + ""; + private XMLInputFactory inputFactory; private StAXArtifactProcessor 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()); + } } -- cgit v1.2.3