/* * Copyright 2003,2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* */ package org.infoglue.deliver.portal.information; import java.io.BufferedReader; import java.io.IOException; import java.util.Enumeration; import java.util.Vector; import javax.portlet.PortletPreferences; import javax.portlet.RenderRequest; import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.pluto.PortletContainerServices; import org.apache.pluto.core.impl.PortletRequestImpl; import org.apache.pluto.factory.PortletObjectAccess; import org.apache.pluto.om.window.PortletWindow; import org.apache.pluto.services.log.LogService; import org.apache.pluto.services.log.Logger; /** * * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to * Window>Preferences>Java>Code Generation. */ public class RenderRequestIG extends PortletRequestImpl implements RenderRequest { private static final Log LOG = LogFactory.getLog(RenderRequestIG.class); /** * Holds the portlet preferences */ private PortletPreferences portletPreferences = null; private Logger log = null; private HttpServletRequest origRequest; public RenderRequestIG(PortletWindow portletWindow, HttpServletRequest servletRequest) { super(portletWindow, servletRequest); this.log = ((LogService) PortletContainerServices.get(LogService.class)).getLogger(getClass()); log.debug("Original servletRequest of type [" + servletRequest.getClass().getName() + "]"); origRequest = servletRequest; } // additional methods ------------------------------------------------------------------------- /** * @see javax.servlet.ServletRequest#getReader() */ public BufferedReader getReader() throws IOException { return super.getReader(); } public PortletPreferences getPreferences() { if (log.isDebugEnabled()) { log.debug("Getting Preferences: " + portletPreferences); } if (portletPreferences == null) { portletPreferences = PortletObjectAccess.getPortletPreferences(org.apache.pluto.Constants.METHOD_RENDER, super.getInternalPortletWindow().getPortletEntity()); } if (log.isDebugEnabled()) { log.debug("Returning Preferences: " + portletPreferences); Enumeration e = portletPreferences.getNames(); while (e.hasMoreElements()) { String name = (String) e.nextElement(); log.debug(" - Preference: name = " + name); } } return portletPreferences; } // -------------------------------------------------------------------------------------------- /* (non-Javadoc) * @see javax.servlet.ServletRequest#getAttribute(java.lang.String) */ public Object getAttribute(String name) { Object o = super.getAttribute(name); if (o == null) { o = super.getRequest().getAttribute(name); } return o; } /* (non-Javadoc) * @see javax.servlet.ServletRequest#getAttributeNames() */ public Enumeration getAttributeNames() { Vector v = new Vector(); for (Enumeration enumeration = super.getAttributeNames(); enumeration.hasMoreElements();) { v.add(enumeration.nextElement()); } for (Enumeration enumeration = super.getRequest().getAttributeNames(); enumeration.hasMoreElements();) { v.add(enumeration.nextElement()); } return v.elements(); } /* public String getParameter(String name) { String result = super.getParameter(name); if (result == null) { result = origRequest.getParameter(name); } return result; } public Map getParameterMap() { Map map = super.getParameterMap(); Map queryMap = origRequest.getParameterMap(); queryMap.putAll(map); return queryMap; } public Enumeration getParameterNames() { Enumeration superEnum = super.getParameterNames(); Enumeration origEnum = origRequest.getParameterNames(); Vector v = new Vector(); while (superEnum.hasMoreElements()) { String name = (String) superEnum.nextElement(); if (!v.contains(name)) { v.add(name); } } while (origEnum.hasMoreElements()) { String name = (String) origEnum.nextElement(); if (!v.contains(name)) { v.add(name); } } return v.elements(); } public String[] getParameterValues(String name) { String[] str = super.getParameterValues(name); if (str == null) { str = origRequest.getParameterValues(name); } return str; }*/ }