2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
5 package org.ufcspa.simdecs.diagram;
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;
16 public class DiagramManager {
18 private String diagramName;
19 private LinkedList<SwimLane> swimLanes;
21 public DiagramManager(String diagramName) {
22 this.diagramName = diagramName;
23 swimLanes = new LinkedList<SwimLane>();
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()));
33 swimLanes.add(swimLane);
36 public final void clear() {
37 swimLanes = new LinkedList<SwimLane>();
40 public String getDiagramName() {
44 public void setDiagramName(String diagramName) {
45 this.diagramName = diagramName;
48 public LinkedList<SwimLane> getSwimLanes() {
52 public SwimLane getSwimLane(String id) {
53 for(SwimLane swimLane : swimLanes) {
54 if (swimLane.getId().equals(id))
61 public void removeSwimLane(String id) {
62 for(SwimLane swimLane : swimLanes) {
63 if (swimLane.getId().equals(id))
64 swimLanes.remove(swimLane);
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()));