001
014
015 package com.liferay.portal.kernel.servlet;
016
017 import javax.portlet.PortletConfig;
018 import javax.portlet.PortletRequest;
019 import javax.portlet.PortletResponse;
020
021 import javax.servlet.ServletConfig;
022 import javax.servlet.http.HttpServletRequest;
023 import javax.servlet.http.HttpServletResponse;
024
025
028 public class PortletServletObjectsFactory implements ServletObjectsFactory {
029
030 public ServletConfig getServletConfig(
031 PortletConfig portletConfig, PortletRequest portletRequest) {
032
033 Object servletConfig = portletConfig.getPortletContext().getAttribute(
034 _PORTLET_CONTAINER_SERVLET_CONFIG);
035
036 if (servletConfig == null) {
037 servletConfig = portletRequest.getAttribute(
038 PortletServlet.PORTLET_SERVLET_CONFIG);
039 }
040
041 return (ServletConfig)servletConfig;
042 }
043
044 public HttpServletRequest getServletRequest(PortletRequest portletRequest) {
045 Object request = portletRequest.getAttribute(
046 _PORTLET_CONTAINER_SERVLET_REQUEST);
047
048 if (request == null) {
049 request = portletRequest.getAttribute(
050 PortletServlet.PORTLET_SERVLET_REQUEST);
051 }
052
053 return (HttpServletRequest)request;
054 }
055
056 public HttpServletResponse getServletResponse(
057 PortletRequest portletRequest, PortletResponse portletResponse) {
058
059 Object response = portletRequest.getAttribute(
060 _PORTLET_CONTAINER_SERVLET_RESPONSE);
061
062 if (response == null) {
063 response = portletRequest.getAttribute(
064 PortletServlet.PORTLET_SERVLET_RESPONSE);
065 }
066
067 return (HttpServletResponse)response;
068 }
069
070 private static final String _PORTLET_CONTAINER_SERVLET_CONFIG =
071 "javax.portlet.portletc.servletConfig";
072
073 private static final String _PORTLET_CONTAINER_SERVLET_REQUEST =
074 "javax.portlet.portletc.httpServletRequest";
075
076 private static final String _PORTLET_CONTAINER_SERVLET_RESPONSE =
077 "javax.portlet.portletc.httpServletResponse";
078
079 }