Author: jsdelfino
Date: Sat Mar  8 20:17:08 2008
New Revision: 635160

URL: http://svn.apache.org/viewvc?rev=635160&view=rev
Log:
Fixed algorithm to detect duplicate binding names, take the binding type into 
account as well.

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

Modified: 
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java?rev=635160&r1=635159&r2=635160&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeConfigurationBuilderImpl.java
 Sat Mar  8 20:17:08 2008
@@ -1217,17 +1217,22 @@
         }
             
         // Check that multiple bindings do not have the same name
-        // TODO: this test needs to be refined to take into account the 
-        //       scheme that the binding is using.         
-        for (Binding serviceBinding : service.getBindings()){
-            if ((!binding.equals(serviceBinding)) && 
-                (binding.getName().equals(serviceBinding.getName()))){
+        for (Binding otherBinding : service.getBindings()) {
+            if (otherBinding == binding) {
+                // Skip the current binding
+                continue;
+            }
+            if (binding.getClass() != otherBinding.getClass()) {
+                // Look for a binding of the same type
+                continue;
+            }
+            if (binding.getName().equals(otherBinding.getName())) {
 
                 throw new CompositeBuilderException("Multiple bindings for 
service " + 
                                                     service.getName() + 
-                                                    " have the same binding 
name " +
+                                                    " have the same binding 
type and name " +
                                                     binding.getName() +
-                                                    ". This means Tuscany SCA 
can't create unique URIs to differenetiate these bindings ");
+                                                    ". Tuscany SCA can't 
create unique URIs to differentiate these bindings ");
             }
         }
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to