1
2
3
4
5 package com.hack23.cia.web.controller.admin;
6
7 import com.hack23.cia.service.api.admin.LanguageRequest;
8 import com.hack23.cia.service.api.admin.LanguageResponse;
9 import com.hack23.cia.service.api.application.ApplicationManager;
10 import com.hack23.cia.web.action.admin.LanguageAgencyAction;
11 import com.hack23.cia.web.viewfactory.api.admin.AgencyModelAndView;
12 import com.hack23.cia.web.viewfactory.api.admin.LanguageAgencyModelAndView;
13 import com.hack23.cia.web.viewfactory.api.admin.LanguageContentModelAndView;
14 import com.hack23.cia.web.viewfactory.api.admin.AgencyModelAndView.AgencyViewSpecification;
15 import com.hack23.cia.web.viewfactory.api.admin.LanguageAgencyModelAndView.LanguageAgencyViewSpecification;
16 import com.hack23.cia.web.viewfactory.api.admin.LanguageContentModelAndView.LanguageContentViewSpecification;
17 import com.hack23.cia.web.viewfactory.api.common.ModelAndView;
18 import com.hack23.cia.web.viewfactory.api.common.ViewFactoryService;
19
20 /***
21 * The Class LanguageAgencyActionHandler.
22 */
23 public class LanguageAgencyActionHandler
24 extends
25 AbstractAdminActionHandler<LanguageAgencyAction, LanguageRequest, LanguageResponse> {
26
27 /***
28 * Instantiates a new language agency action handler.
29 *
30 * @param viewFactoryService the view factory service
31 * @param applicationManager the application manager
32 */
33 public LanguageAgencyActionHandler(
34 final ViewFactoryService viewFactoryService,
35 final ApplicationManager applicationManager) {
36 super(viewFactoryService, applicationManager);
37 }
38
39
40
41
42
43
44
45 @Override
46 public final LanguageRequest createServiceRequest(
47 final LanguageAgencyAction action) {
48 return new LanguageRequest(getUserStateService().getUserSessionId(),
49 action.getOperation(), action.getAgency(), action.getLanguage());
50 }
51
52
53
54
55
56
57 @SuppressWarnings("unchecked")
58 @Override
59 public final Class getSupportedAction() {
60 return LanguageAgencyAction.class;
61 }
62
63
64
65
66
67
68
69
70 @Override
71 public final ModelAndView handleSuccessResponse(
72 final LanguageAgencyAction action, final LanguageResponse response) {
73 ModelAndView modelAndView = null;
74
75 switch (action.getOperation()) {
76 case Update:
77 modelAndView = new LanguageAgencyModelAndView(
78 response.getUserSessionDTO(),
79 action,
80 LanguageAgencyViewSpecification.ConfigureAgencyLanguageView,
81 response.getAgency(), response.getLanguage());
82 break;
83 case Delete:
84 modelAndView = new AgencyModelAndView(response.getUserSessionDTO(),
85 action, AgencyViewSpecification.ConfigureAgencyView,
86 response.getAgency());
87 break;
88 case AddLanguageContent:
89 modelAndView = new LanguageContentModelAndView(response.getUserSessionDTO(),
90 action, LanguageContentViewSpecification.ConfigureLanguageContentView,
91 response.getAgency(),response.getLanguageContent());
92 break;
93 default:
94 break;
95 }
96
97 return modelAndView;
98 }
99
100 }