Raymond Feng wrote:
Hi,

The following change breaks the local interface with overloaded methods. I add 
the the compatibility check back for the local operations. This is done under 
r964980.

Thanks,
Raymond

@@ -224,7 +226,11 @@ public class RuntimeEndpointImpl extends
            for (InvocationChain chain : getInvocationChains()) {
                Operation op = chain.getTargetOperation();

-                if (interfaceContractMapper.isCompatible(operation, op, 
Compatibility.SUBSET)) {
+ // We used to check compatibility here but this is now validated when the + // 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;
                }


Also, these recent changes break the support for dynamic interfaces, in particular:

> +                if (operation.getName().equals(op.getName())) {

The operation name should be ignored on a dynamic interface.

The InterfaceContractMapper correctly did that. See the small change I just made in the 'dynamic' experimental branch [1] to make dynamic interfaces work again.

[1] http://www.mail-archive.com/[email protected]/msg11135.html
--
Jean-Sebastien

Reply via email to