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