1
2
3
4
5 package com.hack23.cia.web.controller.admin;
6
7 import com.hack23.cia.service.api.admin.MonitorRequest;
8 import com.hack23.cia.service.api.admin.MonitorResponse;
9 import com.hack23.cia.service.api.application.ApplicationManager;
10 import com.hack23.cia.web.action.admin.MonitorAdminAction;
11 import com.hack23.cia.web.viewfactory.api.admin.MonitorModelAndView;
12 import com.hack23.cia.web.viewfactory.api.admin.MonitorModelAndView.MonitorViewSpecification;
13 import com.hack23.cia.web.viewfactory.api.common.ModelAndView;
14 import com.hack23.cia.web.viewfactory.api.common.ViewFactoryService;
15
16 /***
17 * The Class MonitorActionHandler.
18 */
19 public class MonitorActionHandler
20 extends
21 AbstractAdminActionHandler<MonitorAdminAction, MonitorRequest, MonitorResponse> {
22
23 /***
24 * Instantiates a new monitor action handler.
25 *
26 * @param viewFactoryService the view factory service
27 * @param applicationManager the application manager
28 */
29 public MonitorActionHandler(final ViewFactoryService viewFactoryService,
30 final ApplicationManager applicationManager) {
31 super(viewFactoryService, applicationManager);
32 }
33
34
35
36
37
38
39
40 @Override
41 public final MonitorRequest createServiceRequest(
42 final MonitorAdminAction action) {
43 return new MonitorRequest(getUserStateService().getUserSessionId(),
44 action.getOperation());
45 }
46
47
48
49
50
51
52 @SuppressWarnings("unchecked")
53 @Override
54 public final Class getSupportedAction() {
55 return MonitorAdminAction.class;
56 }
57
58
59
60
61
62
63
64
65 @Override
66 public final ModelAndView handleSuccessResponse(
67 final MonitorAdminAction action, final MonitorResponse response) {
68 ModelAndView modelAndView = null;
69
70 switch (action.getOperation()) {
71 case ResponseTime:
72 modelAndView = new MonitorModelAndView(response.getUserSessionDTO(),
73 action, MonitorViewSpecification.ResponseTimeView, response
74 .getGraphFile());
75 break;
76 case RecentActions:
77 modelAndView = new MonitorModelAndView(response.getUserSessionDTO(),
78 action, MonitorViewSpecification.RecentActionsView,
79 response.getGraphFile());
80 break;
81 default:
82 break;
83 }
84
85 return modelAndView;
86
87 }
88
89 }