diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-09-10 01:12:21 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-09-10 01:12:21 +0000 |
commit | 99356bb73f6291ad798dfb579809c355c6db71e4 (patch) | |
tree | 6f345732d7538abb64dac1f2abc389add3ed4225 /sca-java-2.x/trunk/modules/core | |
parent | 99ff864f6dc27e598f4850b80ad65b8b9c994877 (diff) |
Fix the self reference with explicit bindings
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@995627 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/core')
-rw-r--r-- | sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java index 96d44b3bc2..82860e2028 100644 --- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java +++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java @@ -46,8 +46,6 @@ import org.apache.tuscany.sca.core.assembly.impl.RuntimeEndpointReferenceImpl; import org.apache.tuscany.sca.definitions.Definitions; import org.apache.tuscany.sca.interfacedef.InterfaceContract; import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract; import org.apache.tuscany.sca.interfacedef.util.Audit; import org.apache.tuscany.sca.monitor.Monitor; import org.apache.tuscany.sca.monitor.MonitorFactory; @@ -331,7 +329,11 @@ public class EndpointReferenceBinderImpl implements EndpointReferenceBinder { if (endpointReference.getReference().getName().startsWith("$self$.")){ // just select the first one and don't do any policy matching - matchedEndpoint = endpoints.get(0); + if (endpointReference.getTargetEndpoint() != null && !endpointReference.getTargetEndpoint().isUnresolved()) { + matchedEndpoint = endpointReference.getTargetEndpoint(); + } else { + matchedEndpoint = endpoints.get(0); + } } else { // find the first endpoint that matches this endpoint reference for (Endpoint endpoint : endpoints){ |