(no commit message)
[utils] / system / general / src / main / java / org / wamblee / system / graph / component / CheckExternallyProvidedVisitor.java
index ef5ea4fb7f024eb459db599b97f2e7ee8ade63e8..0d2db6216dcf6113e0102f460005817af10cad1d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2008 the original author or authors.
+ * Copyright 2005-2010 the original author or authors.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
+ */
 package org.wamblee.system.graph.component;
 
-import java.util.List;
-
 import org.wamblee.system.core.SystemAssemblyException;
 import org.wamblee.system.graph.Edge;
 import org.wamblee.system.graph.Graph;
 import org.wamblee.system.graph.Node;
 import org.wamblee.system.graph.Visitor;
 
+import java.util.List;
+
 /**
- * Visitor that checks externally provided
- * <ul>
- *   <li>
- * </ul>
+ * Visitor that checks whether all externally provided interfaces are actually
+ * provided by any of the internal components.
  * 
  * @author Erik Brakkee
- *
  */
 public class CheckExternallyProvidedVisitor implements Visitor {
-    
-    private Graph _graph; 
-    
-    public CheckExternallyProvidedVisitor(Graph aGraph) { 
-        _graph = aGraph; 
+    private Graph graph;
+
+    /**
+     * Constructs the visitor.
+     * 
+     * @param aGraph
+     *            Component graph.
+     */
+    public CheckExternallyProvidedVisitor(Graph aGraph) {
+        graph = aGraph;
     }
 
     @Override
@@ -47,26 +49,33 @@ public class CheckExternallyProvidedVisitor implements Visitor {
 
     @Override
     public void visitNode(Node aNode) {
-        if ( aNode instanceof ExternalProvidedInterfaceNode) { 
-            ExternalProvidedInterfaceNode provided = (ExternalProvidedInterfaceNode) aNode; 
-            List<Edge> edges = _graph.findOutgoing(provided);
-            if ( edges.size() > 2 ) { 
-                createDuplicateException("External provided interfaces has multiple internal matches", aNode, edges);
+        if (aNode instanceof ExternalProvidedInterfaceNode) {
+            ExternalProvidedInterfaceNode provided = (ExternalProvidedInterfaceNode) aNode;
+            List<Edge> edges = graph.findOutgoing(provided);
+
+            if (edges.size() > 2) {
+                createDuplicateException(
+                    "External provided interfaces has multiple internal matches",
+                    aNode, edges);
             }
-            if ( edges.size() == 0 ) { 
-                throw new SystemAssemblyException(aNode + ": external provded interface is not provided by any of the internal components");
+
+            if (edges.size() == 0) {
+                throw new SystemAssemblyException(
+                    aNode +
+                        ": external provded interface is not provided by any of the internal components");
             }
         }
     }
-    
-    private void createDuplicateException(String aMsg, Node aNode, List<Edge> edges) {
+
+    private void createDuplicateException(String aMsg, Node aNode,
+        List<Edge> aEdges) {
         StringBuffer buf = new StringBuffer();
-        buf.append(aNode
-                + ": " + aMsg + ": ");
-        for (Edge edge : edges) {
+        buf.append(aNode + ": " + aMsg + ": ");
+
+        for (Edge edge : aEdges) {
             buf.append(edge.getTo() + "/ ");
         }
+
         throw new SystemAssemblyException(buf.toString());
     }
-
 }