From ebc9f8e8938b56b0564ca447fef38ba42db689dd Mon Sep 17 00:00:00 2001 From: bdaniel Date: Sun, 14 Nov 2010 22:32:24 +0000 Subject: 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 --- .../tuscany/sca/core/invocation/impl/JDKInvocationHandler.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'sca-java-2.x/trunk/modules/core/src/main') 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; -- cgit v1.2.3