summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java')
-rw-r--r--branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java19
1 files changed, 16 insertions, 3 deletions
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 2ed1dcf48b..299d844b16 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
@@ -298,9 +298,18 @@ public class JMSBindingProcessor extends BaseStAXArtifactProcessor implements St
Object extension = extensionProcessor.read(reader);
if (extension != null) {
if (extension instanceof WireFormat) {
- jmsBinding.setRequestWireFormat((WireFormat)extension);
+ if (jmsBinding.getRequestWireFormat() == null) {
+ jmsBinding.setRequestWireFormat((WireFormat) extension);
+ } else {
+ throw new ContributionReadException("The request wireformat has already been defined. " + "Only one request wire format can be specified.");
+ }
} else if (extension instanceof OperationSelector) {
- jmsBinding.setOperationSelector((OperationSelector)extension);
+ if (jmsBinding.getOperationSelector() == null) {
+ jmsBinding.setOperationSelector((OperationSelector) extension);
+ } else {
+ throw new ContributionReadException("More than one operation selector has been specified. " + "Only one operation selector can be specified.");
+ }
+
} else {
error("UnexpectedElement", reader, extension.toString());
}
@@ -497,7 +506,11 @@ public class JMSBindingProcessor extends BaseStAXArtifactProcessor implements St
Object extension = extensionProcessor.read(reader);
if (extension != null) {
if (extension instanceof WireFormat) {
- jmsBinding.setResponseWireFormat((WireFormat)extension);
+ if (jmsBinding.getResponseWireFormat() == null) {
+ jmsBinding.setResponseWireFormat((WireFormat)extension);
+ } else {
+ throw new ContributionReadException("The response wireformat has already been defined. " + "Only one response wire format can be specified.");
+ }
} else {
error("UnexpectedElement", reader, extension.toString());
}