diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-05-05 14:27:06 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-05-05 14:27:06 +0000 |
commit | d97fd3b777dcde26ae37b94ef698d6e3c1a95993 (patch) | |
tree | fd9cab9be3e8e0ed8b1d5941b216c1121ac1929c /branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca | |
parent | 5098c47728d9d7c587d3aeb833a6ad68479b705d (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')
-rw-r--r-- | branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java | 35 |
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()); } |