summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org
diff options
context:
space:
mode:
authorscottkurz <scottkurz@13f79535-47bb-0310-9956-ffa450edef68>2011-01-26 01:18:02 +0000
committerscottkurz <scottkurz@13f79535-47bb-0310-9956-ffa450edef68>2011-01-26 01:18:02 +0000
commitdac345d5480d52c4071c22fbdeba605dc1236cc0 (patch)
treec63f2f6803ec3f22357558d58f55ddfe3e753af6 /sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org
parent875e50908c2630d263661af492654cd44bef2d65 (diff)
Fix more issues with multiple outputs.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1063548 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org')
-rw-r--r--sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java9
1 files changed, 4 insertions, 5 deletions
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 <T> which are should be in holders are placed in Holder<T>.
// Only check Holder for remotable interfaces
if (imethod != null && op.getInterface().isRemotable()) {
- List<DataType> inputTypes = op.getInputType().getLogical();
Object[] payloadArray = (Object[])payload;
List<Object> payloadList = new ArrayList<Object>();
- 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 [<T>] to [Holder<T>]
Object item = payloadArray[nextIndex++];
Holder itemHolder = new Holder(item);