1
2
3
4
5 package com.hack23.cia.web.controller.common;
6
7 import com.hack23.cia.service.api.application.ApplicationManager;
8 import com.hack23.cia.service.api.common.ApplicationErrorRequest;
9 import com.hack23.cia.service.api.common.ApplicationErrorResponse;
10 import com.hack23.cia.web.action.common.ApplicationErrorAction;
11 import com.hack23.cia.web.viewfactory.api.common.ErrorMessageModelAndView;
12 import com.hack23.cia.web.viewfactory.api.common.ModelAndView;
13 import com.hack23.cia.web.viewfactory.api.common.ViewFactoryService;
14 import com.hack23.cia.web.viewfactory.api.common.ErrorMessageModelAndView.ErrorViewSpecification;
15
16 /***
17 * The Class ApplicationErrorActionHandler.
18 */
19 public class ApplicationErrorActionHandler
20 extends
21 AbstractGenericHandler<ApplicationErrorAction, ApplicationErrorRequest, ApplicationErrorResponse> {
22
23 /***
24 * Instantiates a new application error action handler.
25 *
26 * @param viewFactoryService the view factory service
27 * @param applicationManager the application manager
28 */
29 public ApplicationErrorActionHandler(
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 ApplicationErrorRequest createServiceRequest(
43 final ApplicationErrorAction action) {
44 return new ApplicationErrorRequest(getUserStateService().getUserSessionId(),action.getStackTraceElements(),action.getErrorMessage());
45 }
46
47
48
49
50
51
52 @SuppressWarnings("unchecked")
53 @Override
54 public final Class getSupportedAction() {
55 return ApplicationErrorAction.class;
56 }
57
58
59
60
61
62
63
64
65 @Override
66 public final ModelAndView handleSuccessResponse(
67 final ApplicationErrorAction action, final ApplicationErrorResponse response) {
68 final ApplicationErrorResponse applicationErrorResponse = response;
69 return new ErrorMessageModelAndView(response.getUserSessionDTO(), action, ErrorViewSpecification.ErrorMessageView, applicationErrorResponse.getErrorMessage());
70 }
71
72 }