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 2009/02/06 16:10:59 UTC

svn commit: r741586 - in /tuscany/branches/sca-java-1.x/modules/binding-jms/src: main/java/org/apache/tuscany/sca/binding/jms/impl/ test/java/org/apache/tuscany/sca/binding/jms/impl/

Author: antelder
Date: Fri Feb  6 15:10:58 2009
New Revision: 741586

URL: http://svn.apache.org/viewvc?rev=741586&view=rev
Log:
Add support for resourceAdapter and its properties

Modified:
    tuscany/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java
    tuscany/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java
    tuscany/branches/sca-java-1.x/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java

Modified: tuscany/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java?rev=741586&r1=741585&r2=741586&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java (original)
+++ tuscany/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java Fri Feb  6 15:10:58 2009
@@ -78,6 +78,9 @@
     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 @@
         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 @@
         return connectionFactoryProperties;
     }
 
+    public Map<String, BindingProperty> getResourceAdapterProperties() {
+        return resourceAdapterProperties;
+    }
+
     public Map<String, BindingProperty> getActivationSpecProperties() {
         return activationSpecProperties;
     }

Modified: tuscany/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java?rev=741586&r1=741585&r2=741586&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java (original)
+++ tuscany/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java Fri Feb  6 15:10:58 2009
@@ -498,7 +498,13 @@
     }
 
     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));
     }
 
     /**

Modified: tuscany/branches/sca-java-1.x/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java?rev=741586&r1=741585&r2=741586&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java (original)
+++ tuscany/branches/sca-java-1.x/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java Fri Feb  6 15:10:58 2009
@@ -294,6 +294,26 @@
             + " </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 @@
         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());
+    }
 }