Added postgres persistence unit.
[simdecs.git] / src / java / org / ufcspa / simdecs / diagram / DiagramManager.java
... / ...
CommitLineData
1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5package org.ufcspa.simdecs.diagram;
6
7import java.util.LinkedList;
8import org.ufcspa.simdecs.diagram.elements.Empty;
9import org.ufcspa.simdecs.diagram.elements.Node;
10import org.ufcspa.simdecs.diagram.elements.SwimLane;
11
12/**
13 *
14 * @author Maroni
15 */
16public 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}