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