1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package de.jaret.examples.timebars.pdi.model;
21
22 import java.util.ArrayList;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.Map;
26
27 import de.jaret.util.ui.timebars.model.DefaultRowHeader;
28 import de.jaret.util.ui.timebars.model.DefaultTimeBarModel;
29 import de.jaret.util.ui.timebars.model.DefaultTimeBarRowModel;
30 import de.jaret.util.ui.timebars.model.TimeBarModel;
31
32 /***
33 * @author Peter Kliem
34 * @version $Id: DutyMass.java 160 2007-01-02 22:02:40Z olk $
35 */
36 public class DutyMass {
37 protected Map _diensteProTag = new HashMap();
38 TimeBarModel _model = new DefaultTimeBarModel();
39
40 public void addDienst(PdiDay t, Duty d) {
41 List dienste = getDienste(t);
42 if (dienste == null) {
43 dienste = new ArrayList();
44 _diensteProTag.put(t, dienste);
45 }
46 dienste.add(d);
47 addDienstToTimeBarModel(_model, d);
48 }
49
50 public List getDienste(PdiDay t) {
51 return (List) _diensteProTag.get(t);
52 }
53
54 public TimeBarModel getTimeBarModel(PdiCalendar kalender) {
55 return _model;
56
57 }
58
59 private void addDienstToTimeBarModel(TimeBarModel model, Duty d) {
60 for (int i = 0; i < model.getRowCount(); i++) {
61 DefaultTimeBarRowModel row = (DefaultTimeBarRowModel) model.getRow(i);
62 if (row.getIntervals(d.getBegin(), d.getEnd()).size() == 0) {
63 row.addInterval(d);
64 return;
65 }
66 }
67 DefaultTimeBarRowModel row = new DefaultTimeBarRowModel(new DefaultRowHeader(""));
68 row.addInterval(d);
69 ((DefaultTimeBarModel) model).addRow(row);
70 }
71 }