1
19
20 package com.liferay.portal.kernel.events;
21
22 import com.liferay.portal.kernel.util.PortalClassInvoker;
23
24 import javax.portlet.PortletRequest;
25 import javax.portlet.PortletResponse;
26 import javax.portlet.RenderRequest;
27 import javax.portlet.RenderResponse;
28
29 import javax.servlet.http.HttpServletRequest;
30 import javax.servlet.http.HttpServletResponse;
31
32
38 public abstract class Action {
39
40 public abstract void run(
41 HttpServletRequest request, HttpServletResponse response)
42 throws ActionException;
43
44 public void run(RenderRequest renderRequest, RenderResponse renderResponse)
45 throws ActionException {
46
47 try {
48 HttpServletRequest request = _getHttpServletRequest(renderRequest);
49 HttpServletResponse response = _getHttpServletResponse(
50 renderResponse);
51
52 run(request, response);
53 }
54 catch (ActionException ae) {
55 throw ae;
56 }
57 catch (Exception e) {
58 throw new ActionException(e);
59 }
60 }
61
62 private HttpServletRequest _getHttpServletRequest(
63 PortletRequest portletRequest)
64 throws Exception {
65
66 Object returnObj = PortalClassInvoker.invoke(
67 _CLASS, _METHOD_GETHTTPSERVLETREQUEST, portletRequest, false);
68
69 if (returnObj != null) {
70 return (HttpServletRequest)returnObj;
71 }
72 else {
73 return null;
74 }
75 }
76
77 private HttpServletResponse _getHttpServletResponse(
78 PortletResponse portletResponse)
79 throws Exception {
80
81 Object returnObj = PortalClassInvoker.invoke(
82 _CLASS, _METHOD_GETHTTPSERVLETRESPONSE, portletResponse, false);
83
84 if (returnObj != null) {
85 return (HttpServletResponse)returnObj;
86 }
87 else {
88 return null;
89 }
90 }
91
92 private static final String _CLASS = "com.liferay.portal.util.PortalUtil";
93
94 private static final String _METHOD_GETHTTPSERVLETREQUEST =
95 "getHttpServletRequest";
96
97 private static final String _METHOD_GETHTTPSERVLETRESPONSE =
98 "getHttpServletResponse";
99
100 }