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.AbstractAction;
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 DefaultActionHandler.
18 */
19 public class DefaultActionHandler
20 extends
21 AbstractGenericHandler<AbstractAction, ApplicationErrorRequest, ApplicationErrorResponse> {
22
23 /***
24 * Instantiates a new default action handler.
25 *
26 * @param viewFactoryService the view factory service
27 * @param applicationManager the application manager
28 */
29 public DefaultActionHandler(
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 AbstractAction action) {
44 return new ApplicationErrorRequest(getUserStateService().getUserSessionId(),new StackTraceElement[0],"Missing Action Handler for :" + action.getClass().getSimpleName());
45 }
46
47
48
49
50
51
52 @SuppressWarnings("unchecked")
53 @Override
54 public final Class getSupportedAction() {
55 return AbstractAction.class;
56 }
57
58
59
60
61
62
63
64
65 @Override
66 public final ModelAndView handleSuccessResponse(
67 final AbstractAction action, final ApplicationErrorResponse response) {
68 final ApplicationErrorResponse applicationErrorResponse = response;
69 return new ErrorMessageModelAndView(response.getUserSessionDTO(), action, ErrorViewSpecification.ErrorMessageView, applicationErrorResponse.getErrorMessage());
70 }
71
72 }