From eeaf84366a7e92085ffdec489f3a2efd3528aa76 Mon Sep 17 00:00:00 2001 From: rfeng Date: Mon, 7 Feb 2011 23:07:58 +0000 Subject: Enable the allowsPassByReference support git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1068209 13f79535-47bb-0310-9956-ffa450edef68 --- .../binding/sca/provider/RuntimeSCAReferenceBindingProvider.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sca-java-2.x/trunk/modules/binding-sca-runtime') diff --git a/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java b/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java index 6bda9f0c2d..3d159fcae7 100644 --- a/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java +++ b/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAReferenceBindingProvider.java @@ -20,6 +20,7 @@ package org.apache.tuscany.sca.binding.sca.provider; import org.apache.tuscany.sca.assembly.Endpoint; +import org.apache.tuscany.sca.assembly.Reference; import org.apache.tuscany.sca.assembly.SCABinding; import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.apache.tuscany.sca.core.UtilityExtensionPoint; @@ -144,8 +145,9 @@ public class RuntimeSCAReferenceBindingProvider implements EndpointReferenceAsyn passByValue = false; } } else { -// boolean allowsPBR = chain.allowsPassByReference(); TODO: TUSCANY-3479 this breaks the conformance tests as it needs to consider _both_ ends - boolean allowsPBR = false; + Reference ref = epr.getReference().getReference(); + boolean allowsPBR = (ref != null && ref.isAllowsPassByReference()) || chain.allowsPassByReference(); + if (allowsPBR && interfaceContractMapper.isCompatibleByReference(operation, targetOp, Compatibility.SUBSET)) { -- cgit v1.2.3