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