From 5410813a68af59947dff120d6ccf91577a4f393d Mon Sep 17 00:00:00 2001 From: slaws Date: Thu, 26 Mar 2009 15:49:13 +0000 Subject: 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 --- .../tuscany/sca/binding/jms/impl/JMSBinding.java | 8 +++++ .../sca/binding/jms/impl/JMSBindingProcessor.java | 38 ++++++++++++++++++++++ 2 files changed, 46 insertions(+) (limited to 'branches/sca-java-1.x/modules/binding-jms/src/main') 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); + } + } -- cgit v1.2.3