1
2
3
4
5 package com.hack23.cia.service.impl.user;
6
7 import java.util.Date;
8 import java.util.List;
9
10 import com.hack23.cia.model.application.dto.common.UserSessionDTO;
11 import com.hack23.cia.model.application.impl.common.ActionEvent;
12 import com.hack23.cia.model.application.impl.common.UserSession;
13 import com.hack23.cia.model.application.impl.user.BallotActionEvent;
14 import com.hack23.cia.model.sweden.impl.Ballot;
15 import com.hack23.cia.model.sweden.impl.Vote;
16 import com.hack23.cia.service.api.common.ServiceResponse;
17 import com.hack23.cia.service.api.user.BallotRequest;
18 import com.hack23.cia.service.api.user.BallotResponse;
19 import com.hack23.cia.service.impl.common.ParliamentService;
20 import com.hack23.cia.service.impl.common.UserSessionService;
21
22 /***
23 * The Class BallotRequestService.
24 */
25 public class BallotRequestService extends
26 AbstractParliamentRequestService<BallotRequest> {
27
28 /***
29 * Instantiates a new ballot request service.
30 *
31 * @param userSessionService the user session service
32 * @param parliamentService the parliament service
33 */
34 public BallotRequestService(final UserSessionService userSessionService,
35 final ParliamentService parliamentService) {
36 super(userSessionService, parliamentService);
37 }
38
39
40
41
42
43
44
45
46
47 @Override
48 public final ActionEvent createActionEvent(final BallotRequest request,
49 final UserSession userSession) {
50 return new BallotActionEvent(new Date(), userSession, request
51 .getBallotId());
52 }
53
54
55
56
57
58
59 @SuppressWarnings("unchecked")
60 @Override
61 public final Class getSupportedService() {
62 return BallotRequest.class;
63 }
64
65
66
67
68
69
70
71 @Override
72 public final ServiceResponse handleServiceRequest(
73 final BallotRequest request, final UserSessionDTO userSession) {
74 final Ballot ballot = getParliamentService().loadBallotById(request.getBallotId());
75 final List<Vote> findLastVotesByBallotId = this.getParliamentService()
76 .findLastVotesByBallotId(ballot.getId());
77 final BallotResponse ballotResponse = new BallotResponse(userSession,
78 findLastVotesByBallotId);
79 return ballotResponse;
80 }
81 }