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.application.views.common.menufactory.impl;
20
21 import org.springframework.beans.factory.annotation.Autowired;
22 import org.springframework.stereotype.Service;
23
24 import com.hack23.cia.web.impl.ui.application.views.common.menufactory.api.ApplicationMenuItemFactory;
25 import com.hack23.cia.web.impl.ui.application.views.common.menufactory.api.PoliticianMenuItemFactory;
26 import com.hack23.cia.web.impl.ui.application.views.common.menufactory.api.PoliticianRankingMenuItemFactory;
27 import com.hack23.cia.web.impl.ui.application.views.common.pagelinks.api.PageModeMenuCommand;
28 import com.hack23.cia.web.impl.ui.application.views.common.viewnames.PageMode;
29 import com.hack23.cia.web.impl.ui.application.views.common.viewnames.PoliticianPageMode;
30 import com.hack23.cia.web.impl.ui.application.views.common.viewnames.UserViews;
31 import com.vaadin.server.FontAwesome;
32 import com.vaadin.ui.GridLayout;
33 import com.vaadin.ui.MenuBar;
34 import com.vaadin.ui.MenuBar.MenuItem;
35 import com.vaadin.ui.VerticalLayout;
36
37
38
39
40 @Service
41 public final class PoliticianMenuItemFactoryImpl extends AbstractMenuItemFactoryImpl implements PoliticianMenuItemFactory {
42
43
44 private static final String POLITICIAN_RANKING = "Politician Ranking";
45
46
47 private static final String VOTE_HISTORY = "Vote history";
48
49
50 private static final String ROLE_LIST = "RoleList";
51
52
53 private static final String TOTAL_EXPERIENCE = "Total experience";
54
55
56 private static final String DOCUMENT_HISTORY_TEXT = "Document history";
57
58
59 private static final String INDICATORS_TEXT = "Indicators";
60
61
62 private static final String CHARTS_TEXT = "Charts";
63
64
65 private static final String ROLE_GHANT_TEXT = "RoleGhant";
66
67
68 private static final String ROLES_TEXT = "Roles";
69
70
71 private static final String DOCUMENTS_TEXT = "Documents";
72
73
74 private static final String BALLOT_DECISION_SUMMARY_TEXT = "Ballot Decision Summary";
75
76
77 private static final String BALLOTS_TEXT = "Ballots";
78
79
80 private static final String DOCUMENT_ACTIVITY_TEXT = "Document Activity";
81
82
83 private static final String OVERVIEW_TEXT = "Overview";
84
85
86 private static final String PAGE_VISIT_HISTORY_TEXT = "Page Visit History";
87
88
89 @Autowired
90 private PoliticianRankingMenuItemFactory politicianRankingMenuItemFactory;
91
92
93 @Autowired
94 private ApplicationMenuItemFactory applicationMenuItemFactory;
95
96
97
98
99
100 public PoliticianMenuItemFactoryImpl() {
101 super();
102 }
103
104 @Override
105 public void createPoliticianMenuBar(final MenuBar menuBar, final String pageId) {
106 initApplicationMenuBar(menuBar);
107
108 applicationMenuItemFactory.addRankingMenu(menuBar);
109
110 politicianRankingMenuItemFactory.createPoliticianRankingTopics(menuBar.addItem(POLITICIAN_RANKING, FontAwesome.BUG, null));
111
112 final MenuItem politicanItem = menuBar.addItem("Politician "+ pageId, FontAwesome.BUG,null);
113
114
115 politicanItem.addItem(OVERVIEW_TEXT, FontAwesome.BUG,
116 new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME, PageMode.OVERVIEW, pageId));
117 politicanItem.addItem(CHARTS_TEXT, FontAwesome.BUG,
118 new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME, PageMode.CHARTS, pageId));
119 politicanItem.addItem(INDICATORS_TEXT, FontAwesome.BUG,
120 new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME, PageMode.INDICATORS, pageId));
121
122 final MenuItem rolesItem = politicanItem.addItem(ROLES_TEXT, FontAwesome.BUG, null);
123
124 rolesItem.addItem(TOTAL_EXPERIENCE, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
125 PoliticianPageMode.ROLESUMMARY.toString(), pageId));
126
127 rolesItem.addItem(ROLE_LIST, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
128 PoliticianPageMode.ROLELIST.toString(), pageId));
129
130 rolesItem.addItem(ROLE_GHANT_TEXT, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
131 PoliticianPageMode.ROLEGHANT.toString(), pageId));
132
133 final MenuItem documentItem = politicanItem.addItem(DOCUMENTS_TEXT, FontAwesome.BUG, null);
134
135 documentItem.addItem(DOCUMENT_ACTIVITY_TEXT, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
136 PoliticianPageMode.DOCUMENTACTIVITY.toString(), pageId));
137
138 documentItem.addItem(DOCUMENT_HISTORY_TEXT, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
139 PoliticianPageMode.DOCUMENTHISTORY.toString(), pageId));
140
141 final MenuItem ballotItem = politicanItem.addItem(BALLOTS_TEXT, FontAwesome.BUG, null);
142
143 ballotItem.addItem(VOTE_HISTORY, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
144 PoliticianPageMode.VOTEHISTORY.toString(), pageId));
145
146 ballotItem.addItem(BALLOT_DECISION_SUMMARY_TEXT, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
147 PoliticianPageMode.BALLOTDECISIONSUMMARY.toString(), pageId));
148
149 politicanItem.addItem(PAGE_VISIT_HISTORY_TEXT, FontAwesome.BUG,
150 new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME, PageMode.PAGEVISITHISTORY,pageId));
151
152 }
153
154 @Override
155 public void createOverviewPage(final VerticalLayout panelContent, final String pageId) {
156 final GridLayout grid = createGridLayout(panelContent);
157
158 createButtonLink(grid,OVERVIEW_TEXT, FontAwesome.BUG,
159 new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME, PageMode.OVERVIEW, pageId), "Default description");
160 createButtonLink(grid,CHARTS_TEXT, FontAwesome.BUG,
161 new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME, PageMode.CHARTS, pageId), "Default description");
162 createButtonLink(grid,INDICATORS_TEXT, FontAwesome.BUG,
163 new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME, PageMode.INDICATORS, pageId), "Default description");
164
165
166 createButtonLink(grid,TOTAL_EXPERIENCE, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
167 PoliticianPageMode.ROLESUMMARY.toString(), pageId), "Default description");
168
169 createButtonLink(grid,ROLE_LIST, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
170 PoliticianPageMode.ROLELIST.toString(), pageId), "Default description");
171
172 createButtonLink(grid,ROLE_GHANT_TEXT, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
173 PoliticianPageMode.ROLEGHANT.toString(), pageId), "Default description");
174
175
176 createButtonLink(grid,DOCUMENT_ACTIVITY_TEXT, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
177 PoliticianPageMode.DOCUMENTACTIVITY.toString(), pageId), "Default description");
178
179 createButtonLink(grid,DOCUMENT_HISTORY_TEXT, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
180 PoliticianPageMode.DOCUMENTHISTORY.toString(), pageId), "Default description");
181
182
183 createButtonLink(grid,VOTE_HISTORY, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
184 PoliticianPageMode.VOTEHISTORY.toString(), pageId), "Default description");
185
186 createButtonLink(grid,BALLOT_DECISION_SUMMARY_TEXT, FontAwesome.BUG, new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME,
187 PoliticianPageMode.BALLOTDECISIONSUMMARY.toString(), pageId), "Default description");
188
189 createButtonLink(grid,PAGE_VISIT_HISTORY_TEXT, FontAwesome.BUG,
190 new PageModeMenuCommand(UserViews.POLITICIAN_VIEW_NAME, PageMode.PAGEVISITHISTORY,pageId), "Default description");
191
192 }
193
194 }