summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-04-24 11:49:38 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-04-24 11:49:38 +0000
commitfea84bc2dd440ae3c7d36990ad24455166455415 (patch)
treee36db25175db43c8915dfc154771d32e24fbb8b3 /branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext
parent89880933c273c7bdb71d78370054254ea3a8775b (diff)
TUSCANY-2930 main part of separating wireFormat.jmsdefault out from wireFormat.jmsTextXML. I've spotted a few more things that need fixing but this basic functionality passes all of our current JMS tests and now better matched what the specification says about default format.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@768263 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextReferenceProvider.java11
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextServiceProvider.java13
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLReferenceProvider.java7
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceInterceptor.java12
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceProvider.java14
5 files changed, 26 insertions, 31 deletions
diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextReferenceProvider.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextReferenceProvider.java
index 24d963010c..5a8af69c64 100644
--- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextReferenceProvider.java
+++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextReferenceProvider.java
@@ -57,10 +57,17 @@ public class WireFormatJMSTextReferenceProvider implements WireFormatProvider {
// currently maintaining the message processor structure which
// contains the details of jms message processing however override
// any message processors specified in the SCDL in this case
- if (this.binding.getRequestWireFormat() instanceof WireFormatJMSText){
+
+ // this wire format doubles up as the execution logic for user defined
+ // message processors so check the processor name is still set to default
+ // before overwriting
+
+ if ((this.binding.getRequestWireFormat() instanceof WireFormatJMSText) &&
+ (this.binding.getRequestMessageProcessorName().equals(JMSBindingConstants.DEFAULT_MP_CLASSNAME))){
this.binding.setRequestMessageProcessorName(JMSBindingConstants.TEXT_MP_CLASSNAME);
}
- if (this.binding.getResponseWireFormat() instanceof WireFormatJMSText){
+ if ((this.binding.getResponseWireFormat() instanceof WireFormatJMSText) &&
+ (this.binding.getResponseMessageProcessorName().equals(JMSBindingConstants.DEFAULT_MP_CLASSNAME))){
this.binding.setResponseMessageProcessorName(JMSBindingConstants.TEXT_MP_CLASSNAME);
}
diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextServiceProvider.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextServiceProvider.java
index 3f759ff73b..76808fc5dd 100644
--- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextServiceProvider.java
+++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/runtime/WireFormatJMSTextServiceProvider.java
@@ -56,12 +56,19 @@ public class WireFormatJMSTextServiceProvider implements WireFormatProvider {
// currently maintaining the message processor structure which
// contains the details of jms message processing however override
// any message processors specified in the SCDL in this case
- if (this.binding.getRequestWireFormat() instanceof WireFormatJMSText){
+
+ // this wire format doubles up as the execution logic for user defined
+ // message processors so check the processor name is still set to default
+ // before overwriting
+
+ if ((this.binding.getRequestWireFormat() instanceof WireFormatJMSText) &&
+ (this.binding.getRequestMessageProcessorName().equals(JMSBindingConstants.DEFAULT_MP_CLASSNAME))){
this.binding.setRequestMessageProcessorName(JMSBindingConstants.TEXT_MP_CLASSNAME);
}
- if (this.binding.getResponseWireFormat() instanceof WireFormatJMSText){
+ if ((this.binding.getResponseWireFormat() instanceof WireFormatJMSText) &&
+ (this.binding.getResponseMessageProcessorName().equals(JMSBindingConstants.DEFAULT_MP_CLASSNAME))){
this.binding.setResponseMessageProcessorName(JMSBindingConstants.TEXT_MP_CLASSNAME);
- }
+ }
// just point to the reference interface contract so no
// databinding transformation takes place
diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLReferenceProvider.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLReferenceProvider.java
index 1365cf951e..a52ee3df18 100644
--- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLReferenceProvider.java
+++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLReferenceProvider.java
@@ -60,17 +60,14 @@ public class WireFormatJMSTextXMLReferenceProvider implements WireFormatProvider
// currently maintaining the message processor structure which
// contains the details of jms message processing so set the message
// type here if not set explicitly in SCDL
- //
- // defaults to JMSBindingConstants.XML_MP_CLASSNAME so no need to set it
-/*
+
if (this.binding.getRequestWireFormat() instanceof WireFormatJMSTextXML){
this.binding.setRequestMessageProcessorName(JMSBindingConstants.XML_MP_CLASSNAME);
}
if (this.binding.getResponseWireFormat() instanceof WireFormatJMSTextXML){
this.binding.setResponseMessageProcessorName(JMSBindingConstants.XML_MP_CLASSNAME);
}
-*/
-
+
// create a local interface contract that is configured specifically to
// deal with the data format that this wire format is expecting to sent to
// and receive from the databinding interceptor. The request/response parts of
diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceInterceptor.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceInterceptor.java
index 9236055542..e0a5c86202 100644
--- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceInterceptor.java
+++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceInterceptor.java
@@ -80,14 +80,10 @@ public class WireFormatJMSTextXMLServiceInterceptor implements Interceptor {
// get the jms context
JMSBindingContext context = msg.getBindingContext();
javax.jms.Message jmsMsg = context.getJmsMsg();
-
- if ("onMessage".equals(msg.getOperation().getName())) {
- msg.setBody(new Object[]{jmsMsg});
- } else {
- Object requestPayload = requestMessageProcessor.extractPayloadFromJMSMessage(jmsMsg);
- msg.setBody(new Object[]{requestPayload});
- }
-
+
+ Object requestPayload = requestMessageProcessor.extractPayloadFromJMSMessage(jmsMsg);
+ msg.setBody(new Object[] { requestPayload });
+
return msg;
}
diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceProvider.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceProvider.java
index bccbb669b2..7e48dc76a0 100644
--- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceProvider.java
+++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/runtime/WireFormatJMSTextXMLServiceProvider.java
@@ -63,15 +63,12 @@ public class WireFormatJMSTextXMLServiceProvider implements WireFormatProvider {
// currently maintaining the message processor structure which
// contains the details of jms message processing so set the message
// type here if not set explicitly in SCDL
- // defaults to JMSBindingConstants.XML_MP_CLASSNAME so no need to set it
-/*
if (this.binding.getRequestWireFormat() instanceof WireFormatJMSTextXML){
this.binding.setRequestMessageProcessorName(JMSBindingConstants.XML_MP_CLASSNAME);
}
if (this.binding.getResponseWireFormat() instanceof WireFormatJMSTextXML){
this.binding.setResponseMessageProcessorName(JMSBindingConstants.XML_MP_CLASSNAME);
}
-*/
// create a local interface contract that is configured specifically to
// deal with the data format that this wire format is expecting to sent to
@@ -85,18 +82,9 @@ public class WireFormatJMSTextXMLServiceProvider implements WireFormatProvider {
interfaceContract.getInterface().resetDataBinding(OMElement.class.getName());
}
- protected boolean isOnMessage() {
- InterfaceContract ic = service.getInterfaceContract();
- if (ic.getInterface().getOperations().size() != 1) {
- return false;
- }
- return "onMessage".equals(ic.getInterface().getOperations().get(0).getName());
- }
-
public InterfaceContract configureWireFormatInterfaceContract(InterfaceContract interfaceContract){
- if (this.interfaceContract != null &&
- !isOnMessage()) {
+ if (this.interfaceContract != null) {
if (this.binding.getRequestWireFormat() instanceof WireFormatJMSTextXML){
// set the request data transformation
interfaceContract.getInterface().resetInterfaceInputTypes(this.interfaceContract.getInterface());