1
2
3
4
5
6 package com.hack23.cia.service.impl.common;
7
8 import java.util.List;
9
10 import org.springframework.transaction.annotation.Propagation;
11 import org.springframework.transaction.annotation.Transactional;
12
13 import com.hack23.cia.model.application.impl.common.ImageContent;
14 import com.hack23.cia.model.application.impl.common.Language;
15 import com.hack23.cia.model.application.impl.common.ParliamentChart;
16 import com.hack23.cia.model.sweden.impl.Ballot;
17 import com.hack23.cia.model.sweden.impl.CommitteeReport;
18 import com.hack23.cia.model.sweden.impl.ParliamentMember;
19 import com.hack23.cia.model.sweden.impl.ParliamentMemberVoteCompareResult;
20 import com.hack23.cia.model.sweden.impl.PoliticalParty;
21 import com.hack23.cia.model.sweden.impl.RegisterInformation;
22 import com.hack23.cia.model.sweden.impl.Vote;
23 import com.hack23.cia.service.dao.BallotDAO;
24 import com.hack23.cia.service.dao.CommitteeReportDAO;
25 import com.hack23.cia.service.dao.ParliamentMemberDAO;
26 import com.hack23.cia.service.dao.PoliticalPartyDAO;
27 import com.hack23.cia.service.dao.ResourceDAO;
28 import com.hack23.cia.service.impl.agent.sweden.ParliamentMemberRegisterAgent;
29
30 /***
31 * The Class ParliamentServiceImpl.
32 */
33 @Transactional(propagation=Propagation.REQUIRED)
34 public class ParliamentServiceImpl implements ParliamentService {
35
36 /*** The ballot dao. */
37 private final BallotDAO ballotDAO;
38
39 /*** The commitee report dao. */
40 private final CommitteeReportDAO commiteeReportDAO;
41
42 /*** The parliament member dao. */
43 private final ParliamentMemberDAO parliamentMemberDAO;
44
45 /*** The parliament member register agent. */
46 private final ParliamentMemberRegisterAgent parliamentMemberRegisterAgent;
47
48 /*** The political party dao. */
49 private final PoliticalPartyDAO politicalPartyDAO;
50
51 /*** The resource dao. */
52 private final ResourceDAO resourceDAO;
53
54
55
56 /***
57 * Instantiates a new parliament service impl.
58 *
59 * @param politicalPartyDAO the political party dao
60 * @param commiteeReportDAO the commitee report dao
61 * @param parliamentMemberDAO the parliament member dao
62 * @param parliamentMemberRegisterAgent the parliament member register agent
63 * @param resourceDAO the resource dao
64 * @param ballotDAO the ballot dao
65 */
66 public ParliamentServiceImpl(final PoliticalPartyDAO politicalPartyDAO,final CommitteeReportDAO commiteeReportDAO,
67 final ParliamentMemberDAO parliamentMemberDAO,
68 final ParliamentMemberRegisterAgent parliamentMemberRegisterAgent,final ResourceDAO resourceDAO,final BallotDAO ballotDAO) {
69 super();
70 this.politicalPartyDAO = politicalPartyDAO;
71 this.commiteeReportDAO = commiteeReportDAO;
72 this.parliamentMemberDAO = parliamentMemberDAO;
73 this.parliamentMemberRegisterAgent = parliamentMemberRegisterAgent;
74 this.resourceDAO = resourceDAO;
75 this.ballotDAO = ballotDAO;
76
77 try {
78 this.parliamentMemberRegisterAgent.init();
79 } catch (final Exception e) {
80
81 e.printStackTrace();
82 }
83 }
84
85
86
87
88
89
90
91 @Override
92 public final List<Vote> findLastVotes(final Long id) {
93 return parliamentMemberDAO.findLastVotes(id);
94 }
95
96
97
98
99
100
101
102
103 @Override
104 public final List<Vote> findLastVotesByBallotId(final Long id) {
105 return parliamentMemberDAO.findLastVotesByBallotId(id);
106 }
107
108
109
110
111
112
113
114
115 @Override
116 public final List<ParliamentMember> findParliamentMembersByName(
117 final String searchString) {
118
119 return parliamentMemberDAO.findListByName(searchString);
120 }
121
122
123
124
125 @Override
126 public final PoliticalParty findPoliticalPartyByShortCode(final String partyShortCode) {
127 return politicalPartyDAO.findByShortCode(partyShortCode);
128 }
129
130
131
132
133
134
135 @Override
136 public final List<Vote> findVotes(final Long id) {
137 return parliamentMemberDAO.findVotes(id);
138 }
139
140
141
142
143
144
145 @Override
146 public final List<CommitteeReport> getAllCommiteeReports() {
147 return commiteeReportDAO.getAllLastDecided();
148 }
149
150
151
152
153
154
155 @Override
156 public final List<ParliamentMember> getCurrentList() {
157 return parliamentMemberDAO.getCurrentList();
158 }
159
160
161
162
163
164
165
166 @Override
167 public final List<ParliamentMember> getCurrentTopListAbsent(final int number) {
168 return parliamentMemberDAO.getCurrentTopListAbsent(number);
169
170 }
171
172
173
174
175
176
177
178
179 @Override
180 public final List<ParliamentMember> getCurrentTopListAbsentInParty(
181 final int i, final String party) {
182 return parliamentMemberDAO.getCurrentTopListAbsentByParty(i, party);
183 }
184
185
186
187
188
189
190
191 @Override
192 public final List<ParliamentMember> getCurrentTopListLosers(final int i) {
193 return parliamentMemberDAO.getCurrentTopListLosers(i);
194 }
195
196
197
198
199
200
201
202
203 @Override
204 public final List<ParliamentMember> getCurrentTopListLosersInParty(
205 final int i, final String party) {
206 return parliamentMemberDAO.getCurrentTopListLosersByParty(i, party);
207 }
208
209
210
211
212
213
214
215 @Override
216 public final List<ParliamentMember> getCurrentTopListLoyal(final int i) {
217 return parliamentMemberDAO.getCurrentTopListLoyal(i);
218 }
219
220
221
222
223
224
225
226
227 @Override
228 public final List<ParliamentMember> getCurrentTopListLoyalInParty(
229 final int i, final String party) {
230 return parliamentMemberDAO.getCurrentTopListLoyalByParty(i, party);
231 }
232
233
234
235
236
237
238
239 @Override
240 public final List<ParliamentMember> getCurrentTopListPresent(final int i) {
241 return parliamentMemberDAO.getCurrentTopListPresent(i);
242 }
243
244
245
246
247
248
249
250
251 @Override
252 public final List<ParliamentMember> getCurrentTopListPresentInParty(
253 final int i, final String party) {
254 return parliamentMemberDAO.getCurrentTopListPresentByParty(i, party);
255 }
256
257
258
259
260
261
262
263 @Override
264 public final List<ParliamentMember> getCurrentTopListRebels(final int i) {
265 return parliamentMemberDAO.getCurrentTopListRebels(i);
266 }
267
268
269
270
271
272
273
274
275 @Override
276 public final List<ParliamentMember> getCurrentTopListRebelsInParty(
277 final int i, final String party) {
278 return parliamentMemberDAO.getCurrentTopListRebelsByParty(i, party);
279 }
280
281
282
283
284
285
286
287 @Override
288 public final List<ParliamentMember> getCurrentTopListWinners(final int i) {
289 return parliamentMemberDAO.getCurrentTopListWinners(i);
290 }
291
292
293
294
295
296
297
298
299 @Override
300 public final List<ParliamentMember> getCurrentTopListWinnersInParty(
301 final int i, final String party) {
302 return parliamentMemberDAO.getCurrentTopListWinnersByParty(i, party);
303 }
304
305
306
307
308 @Override
309 public final ImageContent getGraph(final ParliamentChart chart, final Ballot ballot,
310 final Language language) {
311 return resourceDAO.getImageContentByFileName(ParliamentChart.getFileName(chart, ballot, language));
312 }
313
314
315
316
317 @Override
318 public final ImageContent getGraph(final ParliamentChart chart, final CommitteeReport committeeReport,
319 final Language language) {
320 return resourceDAO.getImageContentByFileName(ParliamentChart.getFileName(chart, committeeReport, language));
321 }
322
323
324
325
326 @Override
327 public final ImageContent getGraph(final ParliamentChart chart,final Language language) {
328 return resourceDAO.getImageContentByFileName(ParliamentChart.getFileName(chart, language));
329 }
330
331
332
333
334 @Override
335 public final ImageContent getGraph(final ParliamentChart chart,final ParliamentMember parliamentMember,final Language language) {
336 return resourceDAO.getImageContentByFileName(ParliamentChart.getFileName(chart, parliamentMember, language));
337 }
338
339
340
341
342 @Override
343 public final ImageContent getGraph(final ParliamentChart chart,final PoliticalParty politicalParty,final Language language) {
344 return resourceDAO.getImageContentByFileName(ParliamentChart.getFileName(chart, politicalParty, language));
345 }
346
347
348
349
350
351
352
353 @Override
354 public final List<CommitteeReport> getLastDecidedCommiteeReports() {
355 return commiteeReportDAO.getLastDecided();
356 }
357
358
359
360
361
362
363
364
365 @Override
366 public final ParliamentMember getParliamentMember(
367 final Long parliamentMemberId) {
368 return this.parliamentMemberDAO.load(parliamentMemberId);
369 }
370
371
372
373
374
375
376
377
378 @Override
379 public final List<ParliamentMemberVoteCompareResult> getParliamentMemberEnemies(
380 final ParliamentMember parliamentMember) {
381 return parliamentMemberDAO.getTopEnemies(parliamentMember);
382 }
383
384
385
386
387
388
389
390
391 @Override
392 public final List<ParliamentMemberVoteCompareResult> getParliamentMemberFriends(
393 final ParliamentMember parliamentMember) {
394 return parliamentMemberDAO.getTopFriends(parliamentMember);
395 }
396
397
398
399
400
401
402
403
404 @Override
405 public final List<ParliamentMemberVoteCompareResult> getParliamentMemberPartyEnemies(
406 final ParliamentMember parliamentMember) {
407 return this.parliamentMemberDAO
408 .getTopEnemiesSameParty(parliamentMember);
409 }
410
411
412
413
414
415
416
417
418 @Override
419 public final List<ParliamentMemberVoteCompareResult> getParliamentMemberPartyFriends(
420 final ParliamentMember parliamentMember) {
421 return this.parliamentMemberDAO
422 .getTopFriendsInSameParty(parliamentMember);
423 }
424
425
426
427
428 @Override
429 public final List<PoliticalParty> getPoliticalParties() {
430 return politicalPartyDAO.getAll();
431 }
432
433
434
435
436 @Override
437 public final Ballot loadBallotById(final Long ballotId) {
438 return ballotDAO.load(ballotId);
439 }
440
441
442
443
444
445
446
447
448 @Override
449 public final CommitteeReport loadCommitteeReportById(
450 final Long committeeReportId) {
451 return commiteeReportDAO.load(committeeReportId);
452 }
453
454
455
456
457
458
459
460
461 @Override
462 public final RegisterInformation lookupRegisterInformation(
463 final ParliamentMember member) {
464 return parliamentMemberRegisterAgent.lookupRegisterInformation(member);
465 }
466
467 }