Added postgres persistence unit.
[simdecs.git] / src / java / org / ufcspa / simdecs / diagram / DiagramManager.java
CommitLineData
d076ae96 1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5package org.ufcspa.simdecs.diagram;
6
1c6214fc 7import java.util.LinkedList;
8import org.ufcspa.simdecs.diagram.elements.Empty;
9import org.ufcspa.simdecs.diagram.elements.Node;
d076ae96 10import org.ufcspa.simdecs.diagram.elements.SwimLane;
11
12/**
13 *
14 * @author Maroni
15 */
16public class DiagramManager {
17
18 private String diagramName;
1c6214fc 19 private LinkedList<SwimLane> swimLanes;
20
d076ae96 21 public DiagramManager(String diagramName) {
22 this.diagramName = diagramName;
1c6214fc 23 swimLanes = new LinkedList<SwimLane>();
d076ae96 24 }
25
26 public void addSwimLane(SwimLane swimLane) {
1c6214fc 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);
d076ae96 34 }
35
36 public final void clear() {
1c6214fc 37 swimLanes = new LinkedList<SwimLane>();
d076ae96 38 }
39
40 public String getDiagramName() {
41 return diagramName;
42 }
43
44 public void setDiagramName(String diagramName) {
45 this.diagramName = diagramName;
46 }
47
1c6214fc 48 public LinkedList<SwimLane> getSwimLanes() {
49 return swimLanes;
d076ae96 50 }
51
52 public SwimLane getSwimLane(String id) {
1c6214fc 53 for(SwimLane swimLane : swimLanes) {
54 if (swimLane.getId().equals(id))
55 return swimLane;
56 }
57
58 return null;
d076ae96 59 }
60
61 public void removeSwimLane(String id) {
1c6214fc 62 for(SwimLane swimLane : swimLanes) {
63 if (swimLane.getId().equals(id))
64 swimLanes.remove(swimLane);
65 }
d076ae96 66 }
1c6214fc 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
d076ae96 81}