summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/core/src/main
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2010-07-16 23:25:36 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2010-07-16 23:25:36 +0000
commitc8dd567ff6ea5b0fa2296b3819fb138e8ccc2b93 (patch)
tree5fdc4b3900d0ec2a7ae091df7c74f0cd364e4c3f /sca-java-2.x/trunk/modules/core/src/main
parent8f6f7dcb2ac105f3d130946a32a995a1e3e6ef57 (diff)
Fix the regression caused by r963624 for overloaded local methods
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@964980 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/core/src/main')
-rw-r--r--sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java
index ce50c6223e..fe9e437650 100644
--- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java
+++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeEndpointImpl.java
@@ -230,9 +230,18 @@ public class RuntimeEndpointImpl extends EndpointImpl implements RuntimeEndpoint
// chain is created. As the chain operations are the real interface types
// they may be incompatible just because they are described in different
// IDLs
- if (operation.getName().equals(op.getName())) {
- invocationChainMap.put(operation, chain);
- return chain;
+ if (operation.getInterface().isRemotable()) {
+ if (operation.getName().equals(op.getName())) {
+ invocationChainMap.put(operation, chain);
+ return chain;
+ }
+ } else {
+ // [rfeng] We need to run the compatibility check for local operations as they
+ // can be overloaded
+ if (interfaceContractMapper.isCompatible(operation, op, Compatibility.SUBSET)) {
+ invocationChainMap.put(operation, chain);
+ return chain;
+ }
}
}
// Cache it with the NULL_CHAIN to avoid NPE