Minor fix. Removed comment.
[simdecs.git] / src / java / org / ufcspa / simdecs / diagram / DiagramManager.java
1 /*
2  * To change this template, choose Tools | Templates
3  * and open the template in the editor.
4  */
5 package org.ufcspa.simdecs.diagram;
6
7 import java.util.LinkedList;
8 import org.ufcspa.simdecs.diagram.elements.Empty;
9 import org.ufcspa.simdecs.diagram.elements.Node;
10 import org.ufcspa.simdecs.diagram.elements.SwimLane;
11
12 /**
13  *
14  * @author Maroni
15  */
16 public class DiagramManager {
17     
18     private String diagramName;
19     private LinkedList<SwimLane> swimLanes;
20
21     public DiagramManager(String diagramName) {
22         this.diagramName = diagramName;
23         swimLanes = new LinkedList<SwimLane>();
24     }
25
26     public void addSwimLane(SwimLane swimLane) {
27         if (!swimLanes.isEmpty()) {
28             while(swimLane.getNodes().size() < swimLanes.getFirst().getNodes().size()) {
29                 swimLane.addNode(new Empty(swimLane.getMessageBundle(), swimLane.getLocale()));
30             }
31         }
32         
33         swimLanes.add(swimLane);
34     }
35     
36     public final void clear() {
37         swimLanes = new LinkedList<SwimLane>();
38     }
39     
40     public String getDiagramName() {
41         return diagramName;
42     }
43
44     public void setDiagramName(String diagramName) {
45         this.diagramName = diagramName;
46     }
47
48     public LinkedList<SwimLane> getSwimLanes() {
49         return swimLanes;
50     }
51     
52     public SwimLane getSwimLane(String id) {
53         for(SwimLane swimLane : swimLanes) {
54             if (swimLane.getId().equals(id))
55                 return swimLane;
56         }
57         
58         return null;
59     }
60     
61     public void removeSwimLane(String id) {
62         for(SwimLane swimLane : swimLanes) {
63             if (swimLane.getId().equals(id))
64                 swimLanes.remove(swimLane);
65         }
66     }
67     
68     public void addNode(SwimLane swimLane, Node node) {
69         swimLane.addNode(node);
70         for(SwimLane sl : swimLanes) {
71             if (!sl.equals(swimLane)) {
72                 if (sl.getNodes().size() < swimLane.getNodes().size()) {
73                     while(sl.getNodes().size() < swimLane.getNodes().size()) {
74                         sl.addNode(new Empty(swimLane.getMessageBundle(), swimLane.getLocale()));
75                     }
76                 }
77             }
78         }
79     }
80     
81 }