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
41 public abstract class Action {
42
43 public abstract void run(
44 HttpServletRequest request, HttpServletResponse response)
45 throws ActionException;
46
47 public void run(RenderRequest renderRequest, RenderResponse renderResponse)
48 throws ActionException {
49
50 try {
51 HttpServletRequest request = _getHttpServletRequest(renderRequest);
52 HttpServletResponse response = _getHttpServletResponse(
53 renderResponse);
54
55 run(request, response);
56 }
57 catch (ActionException ae) {
58 throw ae;
59 }
60 catch (Exception e) {
61 throw new ActionException(e);
62 }
63 }
64
65 private HttpServletRequest _getHttpServletRequest(
66 PortletRequest portletRequest)
67 throws Exception {
68
69 Object returnObj = PortalClassInvoker.invoke(
70 _CLASS, _METHOD_GETHTTPSERVLETREQUEST, portletRequest, false);
71
72 if (returnObj != null) {
73 return (HttpServletRequest)returnObj;
74 }
75 else {
76 return null;
77 }
78 }
79
80 private HttpServletResponse _getHttpServletResponse(
81 PortletResponse portletResponse)
82 throws Exception {
83
84 Object returnObj = PortalClassInvoker.invoke(
85 _CLASS, _METHOD_GETHTTPSERVLETRESPONSE, portletResponse, false);
86
87 if (returnObj != null) {
88 return (HttpServletResponse)returnObj;
89 }
90 else {
91 return null;
92 }
93 }
94
95 private static final String _CLASS = "com.liferay.portal.util.PortalUtil";
96
97 private static final String _METHOD_GETHTTPSERVLETREQUEST =
98 "getHttpServletRequest";
99
100 private static final String _METHOD_GETHTTPSERVLETRESPONSE =
101 "getHttpServletResponse";
102
103 }