diff options
author | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2009-09-03 08:58:55 +0000 |
---|---|---|
committer | nash <nash@13f79535-47bb-0310-9956-ffa450edef68> | 2009-09-03 08:58:55 +0000 |
commit | 06f51bda3bd98c0f791639dfb355027b1260fbfe (patch) | |
tree | 436bce62c1b941977ce16fffd967bc189b758fb8 /branches | |
parent | 41eac9b769b7a9ba6ad725adabc6e3480f529821 (diff) |
Fix interface compatibility checking for callback operations (TUSCANY-3251)
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@810833 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches')
-rw-r--r-- | branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java b/branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java index 149e6306e5..9aeeafe6b9 100644 --- a/branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java +++ b/branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java @@ -209,8 +209,7 @@ public class InterfaceContractMapperImpl implements InterfaceContractMapper { } for (Operation operation : source.getCallbackInterface().getOperations()) { - Operation targetOperation = - getOperation(target.getCallbackInterface().getOperations(), operation.getName()); + Operation targetOperation = map(target.getCallbackInterface(), operation); if (targetOperation == null) { if (!silent) { throw new IncompatibleInterfaceContractException("Callback operation not found on target", source, @@ -221,7 +220,7 @@ public class InterfaceContractMapperImpl implements InterfaceContractMapper { } if (!source.getCallbackInterface().isRemotable()) { // FIXME: for remotable operation, only compare name for now - if (!operation.equals(targetOperation)) { + if (!isCompatible(operation, targetOperation, false)) { if (!silent) { throw new IncompatibleInterfaceContractException("Target callback operation is not compatible", source, target, operation, targetOperation); |