From dac345d5480d52c4071c22fbdeba605dc1236cc0 Mon Sep 17 00:00:00 2001 From: scottkurz Date: Wed, 26 Jan 2011 01:18:02 +0000 Subject: Fix more issues with multiple outputs. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1063548 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/invocation/JavaImplementationInvoker.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org') diff --git a/sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java b/sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java index ef325e4ae9..67bbe32c27 100644 --- a/sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java +++ b/sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java @@ -132,14 +132,13 @@ public class JavaImplementationInvoker implements Invoker { // Holder pattern. Any payload parameters which are should be in holders are placed in Holder. // Only check Holder for remotable interfaces if (imethod != null && op.getInterface().isRemotable()) { - List inputTypes = op.getInputType().getLogical(); Object[] payloadArray = (Object[])payload; List payloadList = new ArrayList(); - for (int i = 0, nextIndex = 0; i < inputTypes.size(); i++) { - ParameterMode mode = op.getParameterModes().get(i); - if (ParameterMode.IN == mode ) { + int nextIndex = 0; + for (ParameterMode mode : op.getParameterModes()) { + if (mode.equals(ParameterMode.IN)) { payloadList.add(payloadArray[nextIndex++]); - } else if (ParameterMode.INOUT == mode ) { + } else if (mode.equals(ParameterMode.INOUT)) { // Promote array params from [] to [Holder] Object item = payloadArray[nextIndex++]; Holder itemHolder = new Holder(item); -- cgit v1.2.3