summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/binding-jms/src/main
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-03-26 15:49:13 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-03-26 15:49:13 +0000
commit5410813a68af59947dff120d6ccf91577a4f393d (patch)
tree2443935e1249131938e0c318d4b8c78df2a229da /branches/sca-java-1.x/modules/binding-jms/src/main
parentb9d55227b67e73dd854eb88c0fec654d6e0d443b (diff)
TUSCANY-2934 - wire up the wire format writers
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@758701 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/modules/binding-jms/src/main')
-rw-r--r--branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java8
-rw-r--r--branches/sca-java-1.x/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java38
2 files changed, 46 insertions, 0 deletions
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 92350a6310..b2019bfef6 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
@@ -833,6 +833,14 @@ public class JMSBinding implements BindingRRB, PolicySetAttachPoint, OperationsC
// Configured operations
if ( this.configuredOperations.size() != binding.getConfiguredOperations().size() ) return false;
+ // wire format
+ if ( this.getRequestWireFormat().getClass() != binding.getRequestWireFormat().getClass()) return false;
+ if ( this.getResponseWireFormat().getClass() != binding.getResponseWireFormat().getClass()) return false;
+
+ // operation selector
+ if ( this.getOperationSelector().getClass() != binding.getOperationSelector().getClass()) return false;
+
+
// Other fields could also be checked for equality. See class fields for details.
return true;
}
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 384444800c..99a14d6cbb 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
@@ -947,6 +947,12 @@ public class JMSBindingProcessor extends BaseStAXArtifactProcessor implements St
writeResponseDestinationProperties( jmsBinding, writer );
writeResponseConnectionFactoryProperties( jmsBinding, writer );
writeResponseActivationSpecProperties( jmsBinding, writer );
+
+ if ((jmsBinding.getResponseWireFormat() != null) &&
+ !(jmsBinding.getResponseWireFormat() instanceof WireFormatJMSTextXML)){
+ writeWireFormat(jmsBinding.getResponseWireFormat(), writer);
+ }
+
writer.writeEndElement();
// Strange bug. Without white space, headers end tag improperly read.
writer.writeCharacters( " " );
@@ -956,6 +962,16 @@ public class JMSBindingProcessor extends BaseStAXArtifactProcessor implements St
writeConfiguredOperations( jmsBinding, writer );
+ if ((jmsBinding.getRequestWireFormat() != null) &&
+ !(jmsBinding.getRequestWireFormat() instanceof WireFormatJMSTextXML)){
+ writeWireFormat(jmsBinding.getRequestWireFormat(), writer);
+ }
+
+ if ((jmsBinding.getOperationSelector() != null) &&
+ !(jmsBinding.getOperationSelector() instanceof OperationSelectorJMSDefault)){
+ writeOperationSelector(jmsBinding.getOperationSelector(), writer);
+ }
+
writeEnd(writer);
}
@@ -1477,4 +1493,26 @@ public class JMSBindingProcessor extends BaseStAXArtifactProcessor implements St
writer.writeCharacters(" ");
}
+ /**
+ * Wire out a request or response wire format element. Uses extension processors
+ * to do this as wire format is an extension point
+ *
+ * @param wireFormat
+ * @param writer
+ */
+ private void writeWireFormat(WireFormat wireFormat, XMLStreamWriter writer ) throws XMLStreamException, ContributionWriteException {
+ extensionProcessor.write(wireFormat, writer);
+ }
+
+ /**
+ * Wire out an operation selector element. Uses extension processors
+ * to do this as operation selector is an extension point
+ *
+ * @param operationSeletor
+ * @param writer
+ */
+ private void writeOperationSelector(OperationSelector operationSeletor, XMLStreamWriter writer ) throws XMLStreamException, ContributionWriteException{
+ extensionProcessor.write(operationSeletor, writer);
+ }
+
}