1
2
3
4
5 package com.hack23.cia.service.impl.admin;
6
7 import java.util.Date;
8
9 import com.hack23.cia.model.application.dto.common.UserSessionDTO;
10 import com.hack23.cia.model.application.impl.admin.LanguageAgencyActionEvent;
11 import com.hack23.cia.model.application.impl.common.ActionEvent;
12 import com.hack23.cia.model.application.impl.common.Agency;
13 import com.hack23.cia.model.application.impl.common.Language;
14 import com.hack23.cia.model.application.impl.common.LanguageContent;
15 import com.hack23.cia.model.application.impl.common.UserSession;
16 import com.hack23.cia.service.api.admin.LanguageRequest;
17 import com.hack23.cia.service.api.admin.LanguageResponse;
18 import com.hack23.cia.service.api.common.ServiceResponse;
19 import com.hack23.cia.service.impl.common.UserSessionService;
20
21 /***
22 * The Class LanguageRequestService.
23 */
24 public class LanguageRequestService extends
25 AbstractAdminRequestService<LanguageRequest> {
26
27 /***
28 * Instantiates a new language request service.
29 *
30 * @param userSessionService the user session service
31 * @param adminService the admin service
32 */
33 public LanguageRequestService(final UserSessionService userSessionService,
34 final AdminService adminService) {
35 super(userSessionService, adminService);
36 }
37
38
39
40
41
42
43
44
45
46 @Override
47 public final ActionEvent createActionEvent(final LanguageRequest request,
48 final UserSession userSession) {
49 return new LanguageAgencyActionEvent(new Date(), userSession, request
50 .getAgency().getId(), request.getLanguage().getId(), request
51 .getOperation());
52 }
53
54
55
56
57
58
59 @SuppressWarnings("unchecked")
60 @Override
61 public final Class getSupportedService() {
62 return LanguageRequest.class;
63 }
64
65
66
67
68
69
70
71 @Override
72 public final ServiceResponse handleServiceRequest(
73 final LanguageRequest request, final UserSessionDTO userSession) {
74 LanguageResponse languageResponse = null;
75
76 switch (request.getOperation()) {
77 case Update:
78 final Agency updatedAgency = this.getAdminService().updateLanguage(
79 request.getAgency(), request.getLanguage());
80 final Language updatedLanguage = updatedAgency.findLanguage(request
81 .getLanguage().getId());
82 languageResponse = new LanguageResponse(userSession, updatedAgency,
83 updatedLanguage);
84
85 break;
86 case Delete:
87 final Agency agency = this.getAdminService().deleteLanguage(
88 request.getAgency(), request.getLanguage());
89 languageResponse = new LanguageResponse(userSession, agency);
90 break;
91 case AddLanguageContent:
92 final Agency loadAgency = this.getAdminService().loadAgency(request.getAgency().getId());
93 final Language loadLanguage = loadAgency.findLanguage(request
94 .getLanguage().getId());
95
96 final LanguageContent languageContent = this.getAdminService().addLanguageContent(
97 loadAgency, loadLanguage);
98
99 languageResponse = new LanguageResponse(userSession, loadAgency,languageContent);
100 break;
101
102 default:
103 break;
104 }
105 return languageResponse;
106 }
107 }