/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/portal/trunk/portal-service-impl/impl/src/java/org/sakaiproject/portal/service/RecoveredServletRequest.java $ * $Id: RecoveredServletRequest.java 105079 2012-02-24 23:08:11Z ottenhoff@longsight.com $ *********************************************************************************** * * Copyright (c) 2006, 2007, 2008 The Sakai Foundation * * Licensed under the Educational Community 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.opensource.org/licenses/ECL-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.sakaiproject.portal.service; import java.io.BufferedReader; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.Principal; import java.util.Enumeration; import java.util.Iterator; import java.util.Locale; import java.util.Map; import javax.servlet.RequestDispatcher; import javax.servlet.ServletInputStream; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpSession; /** * @author ieb * @since Sakai 2.4 * @version $Rev: 105079 $ */ public class RecoveredServletRequest extends HttpServletRequestWrapper { private SessionRequestHolder holder = null; public RecoveredServletRequest(HttpServletRequest request, SessionRequestHolder requestHolder) { super(request); this.holder = requestHolder; } @Override public String getAuthType() { return super.getAuthType(); } @Override public String getContextPath() { return super.getContextPath(); } @Override public Cookie[] getCookies() { return super.getCookies(); } @Override public long getDateHeader(String arg0) { return super.getDateHeader(arg0); } @Override public String getHeader(String arg0) { return super.getHeader(arg0); } @Override public Enumeration getHeaderNames() { return super.getHeaderNames(); } @Override public Enumeration getHeaders(String arg0) { return super.getHeaders(arg0); } @Override public int getIntHeader(String arg0) { return super.getIntHeader(arg0); } @Override public String getMethod() { return holder.getMethod(); } @Override public String getPathInfo() { return super.getPathInfo(); } @Override public String getPathTranslated() { return super.getPathTranslated(); } @Override public String getQueryString() { return holder.getQueryString(); } @Override public String getRemoteUser() { return super.getRemoteUser(); } @Override public String getRequestedSessionId() { return super.getRequestedSessionId(); } @Override public String getRequestURI() { return super.getRequestURI(); } @Override public StringBuffer getRequestURL() { return super.getRequestURL(); } @Override public String getServletPath() { return super.getServletPath(); } @Override public HttpSession getSession() { return super.getSession(); } @Override public HttpSession getSession(boolean arg0) { return super.getSession(arg0); } @Override public Principal getUserPrincipal() { return super.getUserPrincipal(); } @Override public boolean isRequestedSessionIdFromCookie() { return super.isRequestedSessionIdFromCookie(); } @Override public boolean isRequestedSessionIdFromUrl() { return super.isRequestedSessionIdFromUrl(); } @Override public boolean isRequestedSessionIdFromURL() { return super.isRequestedSessionIdFromURL(); } @Override public boolean isRequestedSessionIdValid() { return super.isRequestedSessionIdValid(); } @Override public boolean isUserInRole(String arg0) { return super.isUserInRole(arg0); } @Override public Object getAttribute(String arg0) { return super.getAttribute(arg0); } @Override public Enumeration getAttributeNames() { return super.getAttributeNames(); } @Override public String getCharacterEncoding() { return super.getCharacterEncoding(); } @Override public int getContentLength() { return super.getContentLength(); } @Override public String getContentType() { return super.getContentType(); } @Override public ServletInputStream getInputStream() throws IOException { return super.getInputStream(); } @Override public String getLocalAddr() { return super.getLocalAddr(); } @Override public Locale getLocale() { return super.getLocale(); } @Override public Enumeration getLocales() { return super.getLocales(); } @Override public String getLocalName() { return super.getLocalName(); } @Override public int getLocalPort() { return super.getLocalPort(); } @Override public String getParameter(String arg0) { String value = holder.getParameter(arg0); return value; } @Override public Map getParameterMap() { Map m = holder.getParameterMap(); for (Iterator i = m.keySet().iterator(); i.hasNext();) { Object key = i.next(); } return m; } @Override public Enumeration getParameterNames() { return holder.getParameterNames(); } @Override public String[] getParameterValues(String arg0) { String[] values = holder.getParameterValues(arg0); return values; } private String valueOf(Object o) { if (o instanceof String[]) { String[] values = (String[]) o; StringBuilder sb = new StringBuilder(); sb.append("{"); for (int i = 0; i < values.length; i++) { if (i != 0) { sb.append(","); } sb.append(values[i]); } sb.append("}"); return sb.toString(); } else if (o instanceof String) { return (String) o; } else if (o != null) { return o.toString(); } else { return null; } } @Override public String getProtocol() { return super.getProtocol(); } @Override public BufferedReader getReader() throws IOException { return super.getReader(); } @Override public String getRealPath(String arg0) { return super.getRealPath(arg0); } @Override public String getRemoteAddr() { return super.getRemoteAddr(); } @Override public String getRemoteHost() { return super.getRemoteHost(); } @Override public int getRemotePort() { return super.getRemotePort(); } @Override public RequestDispatcher getRequestDispatcher(String arg0) { RequestDispatcher dispatcher = super.getRequestDispatcher(arg0); return dispatcher; } @Override public String getScheme() { return super.getScheme(); } @Override public String getServerName() { return super.getServerName(); } @Override public int getServerPort() { return super.getServerPort(); } @Override public boolean isSecure() { return super.isSecure(); } @Override public void removeAttribute(String arg0) { super.removeAttribute(arg0); } @Override public void setAttribute(String arg0, Object arg1) { super.setAttribute(arg0, arg1); } @Override public void setCharacterEncoding(String arg0) throws UnsupportedEncodingException { super.setCharacterEncoding(arg0); } }