1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package com.hack23.cia.web.impl.ui.page.user;
20
21 import java.util.HashMap;
22 import java.util.List;
23 import java.util.Map;
24
25 import com.hack23.cia.model.internal.application.data.impl.AggregatedBugData;
26 import com.hack23.cia.model.internal.application.data.impl.AggregatedCountryData;
27 import com.hack23.cia.model.internal.application.data.impl.BugMetaDataType;
28 import com.hack23.cia.service.api.DataContainer;
29 import com.hack23.cia.web.impl.ui.page.common.panel.AbstractPanel;
30 import com.vaadin.data.Item;
31 import com.vaadin.ui.Tree;
32 import com.vaadin.ui.VerticalLayout;
33
34
35
36
37 public final class AggregatedBugsDataPanel extends AbstractPanel {
38
39
40 private VerticalLayout content = null;
41
42
43 private static final long serialVersionUID = 1L;
44
45
46 final DataContainer<AggregatedBugData, String> dataContainer;
47
48
49
50
51
52
53
54 public AggregatedBugsDataPanel(final String string) {
55 super();
56 setCaption(string);
57
58 dataContainer = getApplicationManager().getDataContainer(AggregatedBugData.class);
59 }
60
61
62
63
64
65
66
67 public void update(final AggregatedCountryData country) {
68 content =new VerticalLayout();
69 setContent(content);
70 content.setHeight(null);
71 content.setWidth("100%");
72
73 content.setSpacing(true);
74 content.setMargin(true);
75
76 final List<AggregatedBugData> all = dataContainer.getAll();
77 final Tree tree = new Tree(translateFromEnglish("Politicians"));
78 final Map<String,Item> partyMap= new HashMap<String, Item>();
79
80 final String nationalItemString = translateFromEnglish("National");
81 tree.addItem(nationalItemString);
82
83 for (final AggregatedBugData politician: all) {
84 if (politician.getCountry().equals(country.getCountry().getName())) {
85
86 tree.addItem(politician.getName());
87
88 Item partyItem = partyMap.get(politician.getParty());
89 if (partyItem==null) {
90 partyItem = tree.addItem(politician.getParty());
91 partyMap.put(politician.getParty(),partyItem);
92
93 if (politician.getType().equals(BugMetaDataType.SWEDISH_POLITICIAN)){
94 tree.setParent(politician.getParty(), nationalItemString);
95 }
96 }
97
98 tree.setParent(politician.getName(), politician.getParty());
99 }
100 }
101
102 content.addComponent(tree);
103 tree.setSizeFull();
104 setSizeFull();
105 }
106
107 }