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