1
14
15 package com.liferay.taglib.portlet;
16
17 import com.liferay.portal.kernel.util.JavaConstants;
18
19 import javax.portlet.PortletConfig;
20 import javax.portlet.PortletPreferences;
21 import javax.portlet.PortletRequest;
22 import javax.portlet.PortletResponse;
23 import javax.portlet.PortletSession;
24
25 import javax.servlet.http.HttpServletRequest;
26 import javax.servlet.jsp.tagext.TagSupport;
27
28
33 public class DefineObjectsTag extends TagSupport {
34
35 public int doStartTag() {
36 HttpServletRequest request =
37 (HttpServletRequest)pageContext.getRequest();
38
39 String lifecycle = (String)request.getAttribute(
40 PortletRequest.LIFECYCLE_PHASE);
41
42 PortletConfig portletConfig = (PortletConfig)request.getAttribute(
43 JavaConstants.JAVAX_PORTLET_CONFIG);
44
45 if (portletConfig != null) {
46 pageContext.setAttribute("portletConfig", portletConfig);
47 pageContext.setAttribute(
48 "portletName", portletConfig.getPortletName());
49 }
50
51 PortletRequest portletRequest = (PortletRequest)request.getAttribute(
52 JavaConstants.JAVAX_PORTLET_REQUEST);
53
54 if (portletRequest != null) {
55 String portletRequestAttrName = null;
56
57 if (lifecycle.equals(PortletRequest.ACTION_PHASE)) {
58 portletRequestAttrName = "actionRequest";
59 }
60 else if (lifecycle.equals(PortletRequest.EVENT_PHASE)) {
61 portletRequestAttrName = "eventRequest";
62 }
63 else if (lifecycle.equals(PortletRequest.RENDER_PHASE)) {
64 portletRequestAttrName = "renderRequest";
65 }
66 else if (lifecycle.equals(PortletRequest.RESOURCE_PHASE)) {
67 portletRequestAttrName = "resourceRequest";
68 }
69
70 pageContext.setAttribute(portletRequestAttrName, portletRequest);
71
72 PortletPreferences portletPreferences =
73 portletRequest.getPreferences();
74
75 pageContext.setAttribute("portletPreferences", portletPreferences);
76 pageContext.setAttribute(
77 "portletPreferencesValues", portletPreferences.getMap());
78
79 PortletSession portletSession = portletRequest.getPortletSession();
80
81 pageContext.setAttribute("portletSession", portletSession);
82
83 try {
84 pageContext.setAttribute(
85 "portletSessionScope", portletSession.getAttributeMap());
86 }
87 catch (IllegalStateException ise) {
88 }
89 }
90
91 PortletResponse portletResponse = (PortletResponse)request.getAttribute(
92 JavaConstants.JAVAX_PORTLET_RESPONSE);
93
94 if (portletResponse != null) {
95 String portletResponseAttrName = null;
96
97 if (lifecycle.equals(PortletRequest.ACTION_PHASE)) {
98 portletResponseAttrName = "actionResponse";
99 }
100 else if (lifecycle.equals(PortletRequest.EVENT_PHASE)) {
101 portletResponseAttrName = "eventResponse";
102 }
103 else if (lifecycle.equals(PortletRequest.RENDER_PHASE)) {
104 portletResponseAttrName = "renderResponse";
105 }
106 else if (lifecycle.equals(PortletRequest.RESOURCE_PHASE)) {
107 portletResponseAttrName = "resourceResponse";
108 }
109
110 pageContext.setAttribute(portletResponseAttrName, portletResponse);
111 }
112
113 return SKIP_BODY;
114 }
115
116 }