1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   *
12   *
13   */
14  
15  package com.liferay.portal.kernel.servlet;
16  
17  import javax.portlet.PortletConfig;
18  import javax.portlet.PortletRequest;
19  import javax.portlet.PortletResponse;
20  
21  import javax.servlet.ServletConfig;
22  import javax.servlet.http.HttpServletRequest;
23  import javax.servlet.http.HttpServletResponse;
24  
25  /**
26   * <a href="PortletServletObjectsFactory.java.html"><b><i>View Source</i></b>
27   * </a>
28   *
29   * @author Deepak Gothe
30   */
31  public class PortletServletObjectsFactory implements ServletObjectsFactory {
32  
33      public ServletConfig getServletConfig(
34          PortletConfig portletConfig, PortletRequest portletRequest) {
35  
36          Object servletConfig = portletConfig.getPortletContext().getAttribute(
37              _PORTLET_CONTAINER_SERVLET_CONFIG);
38  
39          if (servletConfig == null) {
40              servletConfig = portletRequest.getAttribute(
41                  PortletServlet.PORTLET_SERVLET_CONFIG);
42          }
43  
44          return (ServletConfig)servletConfig;
45      }
46  
47      public HttpServletRequest getServletRequest(PortletRequest portletRequest) {
48          Object request = portletRequest.getAttribute(
49              _PORTLET_CONTAINER_SERVLET_REQUEST);
50  
51          if (request == null) {
52              request = portletRequest.getAttribute(
53                  PortletServlet.PORTLET_SERVLET_REQUEST);
54          }
55  
56          return (HttpServletRequest)request;
57      }
58  
59      public HttpServletResponse getServletResponse(
60          PortletRequest portletRequest, PortletResponse portletResponse) {
61  
62          Object response = portletRequest.getAttribute(
63              _PORTLET_CONTAINER_SERVLET_RESPONSE);
64  
65          if (response == null) {
66              response = portletRequest.getAttribute(
67                  PortletServlet.PORTLET_SERVLET_RESPONSE);
68          }
69  
70          return (HttpServletResponse)response;
71      }
72  
73      private static final String _PORTLET_CONTAINER_SERVLET_CONFIG =
74          "javax.portlet.portletc.servletConfig";
75  
76      private static final String _PORTLET_CONTAINER_SERVLET_REQUEST =
77          "javax.portlet.portletc.httpServletRequest";
78  
79      private static final String _PORTLET_CONTAINER_SERVLET_RESPONSE =
80          "javax.portlet.portletc.httpServletResponse";
81  
82  }