(no commit message)
[utils] / system / general / src / main / java / org / wamblee / system / core / Container.java
index fd322c6bbd49aabd10187501d630f2db762a2204..df92c0d099dcb4a61e219bb6047a7b5bea672783 100644 (file)
@@ -252,7 +252,7 @@ public class Container extends AbstractComponent {
                                                                + "' required by system '"
                                                                + aComponent
                                                                + "' matches multiple services provided by other systems: "
-                                                               + Arrays.asList(filtered));
+                                                               + getServers(filtered));
                        } else { 
                                // filtered.length == 0
                                if ( !descriptor.isOptional()) { 
@@ -281,6 +281,22 @@ public class Container extends AbstractComponent {
        private void warn(String aMsg) {
                LOG.warn(getQualifiedName() + ": " + aMsg);
        }
+       
+       private String getServers(ProvidedInterface[] aProvidedList ) {
+               String result = "";
+               for (ProvidedInterface provided: aProvidedList) {
+                       result += "(components ";
+                       for (Component component: _components) { 
+                               for (ProvidedInterface provided2: component.getProvidedInterfaces()) { 
+                                       if ( provided.equals(provided2)) { 
+                                               result += component + " ";
+                                       }
+                               }
+                       }
+                       result += ", interface " + provided + ")";
+               }
+               return result;
+       }
 
        private List<Component> getClients(RequiredInterface aRequirement) {
                List<Component> clients = new ArrayList<Component>();