diff options
author | bdaniel <bdaniel@13f79535-47bb-0310-9956-ffa450edef68> | 2010-11-14 22:32:24 +0000 |
---|---|---|
committer | bdaniel <bdaniel@13f79535-47bb-0310-9956-ffa450edef68> | 2010-11-14 22:32:24 +0000 |
commit | ebc9f8e8938b56b0564ca447fef38ba42db689dd (patch) | |
tree | 91f7ad5ea13a1a5e1b4776e31d1f9c845addbab0 /sca-java-2.x/trunk/modules/core/src | |
parent | 5670f96c39fb938bfc6951dcb87d623a2d03bf8d (diff) |
TUSCANY-3664 Add support for multiple operation output types
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1035090 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/core/src')
-rw-r--r-- | sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java index 03853a2883..afdad37e2d 100644 --- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java +++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java @@ -123,12 +123,15 @@ public class JDKInvocationHandler implements InvocationHandler, Serializable { holderPattern = true; // Pop results and place in holder (demote). Holder holder = (Holder) args[ i ]; - Object[] resultArray = (Object[])result; - holder.value = resultArray[++resultIdx]; + + Object[] results = (Object[])result; + if ( result != null ) { + holder.value = results[++resultIdx]; + } } } } - if ( holderPattern ) + if ( holderPattern && result != null) return ((Object[])result)[0]; else return result; |