1
2
3
4
5 package com.hack23.cia.web.controller.user;
6
7 import com.hack23.cia.service.api.application.ApplicationManager;
8 import com.hack23.cia.service.api.user.CommitteeReportsRequest;
9 import com.hack23.cia.service.api.user.CommitteeReportsResponse;
10 import com.hack23.cia.web.action.user.CommitteeReportsAction;
11 import com.hack23.cia.web.viewfactory.api.common.ModelAndView;
12 import com.hack23.cia.web.viewfactory.api.common.ViewFactoryService;
13 import com.hack23.cia.web.viewfactory.api.user.CommitteeReportsModelAndView;
14 import com.hack23.cia.web.viewfactory.api.user.CommitteeReportsModelAndView.CommitteeReportsViewSpecification;
15
16 /***
17 * The Class CommitteeReportsActionHandler.
18 */
19 public class CommitteeReportsActionHandler
20 extends
21 AbstractUserActionHandler<CommitteeReportsAction, CommitteeReportsRequest, CommitteeReportsResponse> {
22
23 /***
24 * Instantiates a new committee reports action handler.
25 *
26 * @param viewFactoryService the view factory service
27 * @param applicationManager the application manager
28 */
29 public CommitteeReportsActionHandler(
30 final ViewFactoryService viewFactoryService,
31 final ApplicationManager applicationManager) {
32 super(viewFactoryService, applicationManager);
33 }
34
35
36
37
38
39
40
41 @Override
42 public final CommitteeReportsRequest createServiceRequest(
43 final CommitteeReportsAction action) {
44 return new CommitteeReportsRequest(getUserStateService()
45 .getUserSessionId());
46 }
47
48
49
50
51
52
53 @SuppressWarnings("unchecked")
54 @Override
55 public final Class getSupportedAction() {
56 return CommitteeReportsAction.class;
57 }
58
59
60
61
62
63
64
65
66 @Override
67 public final ModelAndView handleSuccessResponse(
68 final CommitteeReportsAction action,
69 final CommitteeReportsResponse response) {
70 return new CommitteeReportsModelAndView(response.getUserSessionDTO(),
71 action,
72 CommitteeReportsViewSpecification.CommitteeReportsTreeView,
73 response.getCommitteeReports());
74 }
75 }