1
2
3
4
5 package com.hack23.cia.service.impl.user;
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.common.ActionEvent;
11 import com.hack23.cia.model.application.impl.common.Agency;
12 import com.hack23.cia.model.application.impl.common.UserSession;
13 import com.hack23.cia.model.application.impl.user.ExternalUrlActionEvent;
14 import com.hack23.cia.service.api.common.ServiceResponse;
15 import com.hack23.cia.service.api.user.ExternalUrlRequest;
16 import com.hack23.cia.service.api.user.ExternalUrlResponse;
17 import com.hack23.cia.service.impl.common.UserSessionService;
18
19 /***
20 * The Class ExternalUrlRequestService.
21 */
22 public class ExternalUrlRequestService extends
23 AbstractUserRequestService<ExternalUrlRequest> {
24
25 /***
26 * Instantiates a new external url request service.
27 *
28 * @param userSessionService the user session service
29 */
30 public ExternalUrlRequestService(final UserSessionService userSessionService) {
31 super(userSessionService);
32 }
33
34
35
36
37
38
39
40
41
42 @Override
43 public final ActionEvent createActionEvent(
44 final ExternalUrlRequest request, final UserSession userSession) {
45 return new ExternalUrlActionEvent(new Date(), userSession, request
46 .getOperation());
47 }
48
49
50
51
52
53
54 @SuppressWarnings("unchecked")
55 @Override
56 public final Class getSupportedService() {
57 return ExternalUrlRequest.class;
58 }
59
60
61
62
63
64
65
66 @Override
67 public final ServiceResponse handleServiceRequest(
68 final ExternalUrlRequest request, final UserSessionDTO userSessionDTO) {
69 ExternalUrlResponse externalUrlResponse = null;
70
71 switch (request.getOperation()) {
72 case ShowProjectInformation:
73 externalUrlResponse = new ExternalUrlResponse(userSessionDTO,
74 userSessionDTO.getLanguageResource(Agency.LanguageContentKey.PROJECT_INFORMATION), "http://cia.sourceforge.net/");
75 break;
76 case ShowDonateToProject:
77 externalUrlResponse = new ExternalUrlResponse(
78 userSessionDTO,
79 userSessionDTO.getLanguageResource(Agency.LanguageContentKey.DONATE_TO_PROJECT), "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6760739");
80 break;
81 case ShowWikiLeaks:
82 externalUrlResponse = new ExternalUrlResponse(userSessionDTO,
83 "WikiLeaks : Be careful, Big Brother is watching you!",
84 "http://wikileaks.org");
85 break;
86 default:
87 break;
88 }
89 return externalUrlResponse;
90 }
91 }