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 2010/10/05 17:01:49 UTC

svn commit: r1004661 - in /tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main: java/org/apache/tuscany/sca/binding/jms/ resources/

Author: antelder
Date: Tue Oct  5 15:01:49 2010
New Revision: 1004661

URL: http://svn.apache.org/viewvc?rev=1004661&view=rev
Log:
Validate bjm30029

Modified:
    tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBinding.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBinding.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBinding.java?rev=1004661&r1=1004660&r2=1004661&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBinding.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBinding.java Tue Oct  5 15:01:49 2010
@@ -659,6 +659,10 @@ public class JMSBinding implements Bindi
     public void setNativeOperationName(String opName, String nativeOpName) {
         this.nativeOperationNames .put(opName, nativeOpName);
     }
+    
+    public Map<String, String> getNativeOperationNames() {
+        return nativeOperationNames;
+    }
 
     public String getOperationJMSType(String opName) {
         if (operationPropertiesBinding != null && operationPropertiesBinding.getOperationJMSType(opName) != null) {

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java?rev=1004661&r1=1004660&r2=1004661&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java Tue Oct  5 15:01:49 2010
@@ -23,6 +23,7 @@ import static javax.xml.stream.XMLStream
 import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
 
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -1039,6 +1040,13 @@ public class JMSBindingProcessor extends
             }
         }
 
+        // [BJM30029] The value of the operationProperties/@selectedOperation attribute MUST be unique across the containing binding.jms element
+        Set<String> ops = new HashSet<String>(jmsBinding.getNativeOperationNames().values());
+        if (ops.size() != jmsBinding.getNativeOperationNames().values().size()) {
+            error(monitor, "BJM30029", jmsBinding);                               
+        }
+        
+        
         // Other jmsBinding model validation may be added here.
 
     }

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties?rev=1004661&r1=1004660&r2=1004661&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties Tue Oct  5 15:01:49 2010
@@ -58,3 +58,4 @@ MissingNameForCREATE_IF_NOT_EXIST = Must
 InvalidCreate = Attribute create {0} invalid, must be 'always', 'never', or 'ifNotExist'
 ActivationSpecAndDestinationMismatch = Activation spec name {0} must match destination name {1}
 ActivationSpecNameRequiredForCreateAlways = A JNDI name must be specified when an ActivationSpec has a create mode of "always"
+BJM30029 = the selectedOperation attribute MUST be unique across the containing binding.jms element