Author: rfeng
Date: Wed May 21 17:09:16 2008
New Revision: 658945

URL: http://svn.apache.org/viewvc?rev=658945&view=rev
Log:
Reverse the order of interface contracts for compatibility check. The composite 
reference interface can have a subset (not superset) of the promoted component 
reference.

Modified:
    
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java

Modified: 
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java?rev=658945&r1=658944&r2=658945&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java
 Wed May 21 17:09:16 2008
@@ -330,9 +330,9 @@
                             
compositeReference.setInterfaceContract(componentReferenceInterfaceContract);
                         } else if (componentReferenceInterfaceContract != 
null) {
                                // Check the compositeInterfaceContract and 
componentInterfaceContract
-                               boolean isCompatible = 
interfaceContractMapper.isCompatible(componentReferenceInterfaceContract,compositeReferenceInterfaceContract);
+                               boolean isCompatible = 
interfaceContractMapper.isCompatible(compositeReferenceInterfaceContract, 
componentReferenceInterfaceContract);
                                if(!isCompatible){
-                                       throw new 
IncompatibleInterfaceContractException("Interface of composite reference 
"+componentReferenceName +" must be superset of the interface declared by 
promoted component reference.", componentReferenceInterfaceContract, 
compositeReferenceInterfaceContract);
+                                       throw new 
IncompatibleInterfaceContractException("Interface of composite reference 
"+componentReferenceName +" must be compatible with the interface declared by 
promoted component reference.", componentReferenceInterfaceContract, 
compositeReferenceInterfaceContract);
                                }
                         }
                     } else {


Reply via email to