removed the unique id from the provided interface. Now using object
[utils] / system / general / src / main / java / org / wamblee / system / graph / component / RequiredProvidedEdgeFactory.java
index 983acba1c78c61e343f75b7af1f9374c6e5693f0..711501a1894e54ffd92cf100709ed3a4a5d6c9fb 100644 (file)
@@ -24,7 +24,13 @@ import org.wamblee.system.graph.EdgeFactory;
 import org.wamblee.system.graph.Node;
 
 /**
- * Factory that creates links between required and provided interfaces.
+ * Factory that creates edges between required and provided interfaces.
+ * Speciflcally it creates: 
+ * <ul>
+ *   <li> Edges between provided and required interfaces of a container. </li>
+ *   <li> Edges between required and externally required interfaces </li>
+ *   <li> Edges between externally provided and provided interfaces.  
+ * </ul>
  * 
  * @author Erik Brakkee
  * 
@@ -49,7 +55,7 @@ public class RequiredProvidedEdgeFactory implements EdgeFactory {
                 }
             } else if (aTo instanceof ExternalRequiredInterfaceNode) {
                 ExternalRequiredInterfaceNode external = (ExternalRequiredInterfaceNode) aTo;
-                if ( required.getRequired().equals(external.getRequired())) { 
+                if ( external.getRequired().covers(required.getRequired())) { 
                     result.add(new DefaultEdge(required, external));
                 }
             }
@@ -57,7 +63,7 @@ public class RequiredProvidedEdgeFactory implements EdgeFactory {
             ProvidedInterfaceNode provided = (ProvidedInterfaceNode)aFrom;
             if ( aTo instanceof ExternalProvidedInterfaceNode) { 
                 ExternalProvidedInterfaceNode external = (ExternalProvidedInterfaceNode)aTo;
-                if ( provided.getProvided().equals(external.getProvided())) { 
+                if (provided.getProvided().covers(external.getProvided())) { 
                     result.add(new DefaultEdge(external, provided));
                 }
             }