You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by na...@apache.org on 2009/09/03 10:58:55 UTC

svn commit: r810833 - /tuscany/branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java

Author: nash
Date: Thu Sep  3 08:58:55 2009
New Revision: 810833

URL: http://svn.apache.org/viewvc?rev=810833&view=rev
Log:
Fix interface compatibility checking for callback operations (TUSCANY-3251)

Modified:
    tuscany/branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java

Modified: tuscany/branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java?rev=810833&r1=810832&r2=810833&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java (original)
+++ tuscany/branches/sca-java-1.5.1/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java Thu Sep  3 08:58:55 2009
@@ -209,8 +209,7 @@
         }
 
         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 @@
             }
             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);