summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-05-05 14:27:06 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-05-05 14:27:06 +0000
commitd97fd3b777dcde26ae37b94ef698d6e3c1a95993 (patch)
treefd9cab9be3e8e0ed8b1d5941b216c1121ac1929c /branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms
parent5098c47728d9d7c587d3aeb833a6ad68479b705d (diff)
TUSCANY-3005 - Take account of the case where there are either no input parameters or a void return type (or both). Thanks for the patch Kaushik.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@771740 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms')
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java35
1 files changed, 27 insertions, 8 deletions
diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java
index 76f069c6d9..848986f8b1 100644
--- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java
+++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java
@@ -93,7 +93,9 @@ public class DefaultMessageProcessor extends AbstractMessageProcessor {
//don't modify the original wrapper since it will be reused
//clone the wrapper
OMElement newWrapper = wrapper.cloneOMElement();
- newWrapper.addChild((OMNode)os);
+ if (os != null){
+ newWrapper.addChild((OMNode)os);
+ }
return newWrapper;
}
@@ -119,16 +121,23 @@ public class DefaultMessageProcessor extends AbstractMessageProcessor {
if (o instanceof OMElement) {
if (unwrap){
- if (((OMElement)o).getFirstElement() != null ){
- message.setText(((OMElement)o).getFirstElement().toString());
+ OMElement firstElement = ((OMElement)o).getFirstElement();
+ if (firstElement == null ) {
+ message.setText(null);
+ } else {
+ message.setText(firstElement.toString());
}
}else {
message.setText(o.toString());
}
} else if ((o instanceof Object[]) && ((Object[]) o)[0] instanceof OMElement) {
if (unwrap){
- message.setText(((OMElement)((Object[]) o)[0]).getFirstElement().toString());
- //message.setText((((Object[]) o)[0]).toString());
+ OMElement firstElement = ((OMElement)((Object[]) o)[0]).getFirstElement();
+ if (firstElement == null ) {
+ message.setText(null);
+ } else {
+ message.setText(firstElement.toString());
+ }
}else {
message.setText(((Object[]) o)[0].toString());
}
@@ -218,16 +227,26 @@ public class DefaultMessageProcessor extends AbstractMessageProcessor {
if (o instanceof OMElement) {
if (unwrap) {
- if (((OMElement)o).getFirstElement() != null){
- message.writeBytes(((OMElement)o).getFirstElement().toString().getBytes());
+ OMElement firstElement = ((OMElement)o).getFirstElement();
+ if (firstElement == null ) {
+ //do nothing, the message will just be set with a byte[0]
+ } else {
+ message.writeBytes(firstElement.toString().getBytes());
}
+
} else {
message.writeBytes(o.toString().getBytes());
}
} else if ((o instanceof Object[]) && ((Object[]) o)[0] instanceof OMElement) {
if (unwrap){
- message.writeBytes(((OMElement)((Object[]) o)[0]).getFirstElement().toString().getBytes());
+ OMElement firstElement = ((OMElement)((Object[]) o)[0]).getFirstElement();
+ if (firstElement == null ) {
+ //do nothing, the message will just be set with a byte[0]
+ } else {
+ message.writeBytes(firstElement.toString().getBytes());
+ }
+
}else {
message.writeBytes(((Object[]) o)[0].toString().getBytes());
}