001
014
015 package com.liferay.taglib.portlet;
016
017 import com.liferay.portal.kernel.util.JavaConstants;
018 import com.liferay.portal.util.PortalUtil;
019
020 import javax.portlet.PortletConfig;
021 import javax.portlet.PortletPreferences;
022 import javax.portlet.PortletRequest;
023 import javax.portlet.PortletResponse;
024 import javax.portlet.PortletSession;
025
026 import javax.servlet.http.HttpServletRequest;
027 import javax.servlet.jsp.tagext.TagSupport;
028
029
032 public class DefineObjectsTag extends TagSupport {
033
034 @Override
035 public int doStartTag() {
036 HttpServletRequest request =
037 (HttpServletRequest)pageContext.getRequest();
038
039 String lifecycle = (String)request.getAttribute(
040 PortletRequest.LIFECYCLE_PHASE);
041
042 PortletConfig portletConfig = (PortletConfig)request.getAttribute(
043 JavaConstants.JAVAX_PORTLET_CONFIG);
044
045 if (portletConfig != null) {
046 pageContext.setAttribute("portletConfig", portletConfig);
047 pageContext.setAttribute(
048 "portletName", portletConfig.getPortletName());
049 }
050
051 PortletRequest portletRequest = (PortletRequest)request.getAttribute(
052 JavaConstants.JAVAX_PORTLET_REQUEST);
053
054 if (portletRequest != null) {
055 pageContext.setAttribute(
056 "liferayPortletRequest",
057 PortalUtil.getLiferayPortletRequest(portletRequest));
058
059 String portletRequestAttrName = null;
060
061 if (lifecycle.equals(PortletRequest.ACTION_PHASE)) {
062 portletRequestAttrName = "actionRequest";
063 }
064 else if (lifecycle.equals(PortletRequest.EVENT_PHASE)) {
065 portletRequestAttrName = "eventRequest";
066 }
067 else if (lifecycle.equals(PortletRequest.RENDER_PHASE)) {
068 portletRequestAttrName = "renderRequest";
069 }
070 else if (lifecycle.equals(PortletRequest.RESOURCE_PHASE)) {
071 portletRequestAttrName = "resourceRequest";
072 }
073
074 pageContext.setAttribute(portletRequestAttrName, portletRequest);
075
076 PortletPreferences portletPreferences =
077 portletRequest.getPreferences();
078
079 pageContext.setAttribute("portletPreferences", portletPreferences);
080 pageContext.setAttribute(
081 "portletPreferencesValues", portletPreferences.getMap());
082
083 PortletSession portletSession = portletRequest.getPortletSession();
084
085 pageContext.setAttribute("portletSession", portletSession);
086
087 try {
088 pageContext.setAttribute(
089 "portletSessionScope", portletSession.getAttributeMap());
090 }
091 catch (IllegalStateException ise) {
092 }
093 }
094
095 PortletResponse portletResponse = (PortletResponse)request.getAttribute(
096 JavaConstants.JAVAX_PORTLET_RESPONSE);
097
098 if (portletResponse == null) {
099 return SKIP_BODY;
100 }
101
102 pageContext.setAttribute(
103 "liferayPortletResponse",
104 PortalUtil.getLiferayPortletResponse(portletResponse));
105
106 String portletResponseAttrName = null;
107
108 if (lifecycle.equals(PortletRequest.ACTION_PHASE)) {
109 portletResponseAttrName = "actionResponse";
110 }
111 else if (lifecycle.equals(PortletRequest.EVENT_PHASE)) {
112 portletResponseAttrName = "eventResponse";
113 }
114 else if (lifecycle.equals(PortletRequest.RENDER_PHASE)) {
115 portletResponseAttrName = "renderResponse";
116 }
117 else if (lifecycle.equals(PortletRequest.RESOURCE_PHASE)) {
118 portletResponseAttrName = "resourceResponse";
119 }
120
121 pageContext.setAttribute(portletResponseAttrName, portletResponse);
122
123 return SKIP_BODY;
124 }
125
126 }