Changes to run vivo on tomcat 7. NIHVIVO-2451

This commit is contained in:
briancaruso 2011-05-06 00:52:16 +00:00
parent a30f4a4714
commit 9994b120da
4 changed files with 227 additions and 602 deletions

View file

@ -2,21 +2,13 @@
package edu.cornell.mannlib.vitro.webapp.controller;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.Principal;
import java.util.Enumeration;
import java.util.HashMap;
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.HttpSession;
import javax.servlet.http.HttpServletRequestWrapper;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.query.Dataset;
@ -24,8 +16,8 @@ import com.hp.hpl.jena.query.Dataset;
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.jena.JenaBaseDao;
public class VitroRequest implements HttpServletRequest {
//HttpServletRequest
public class VitroRequest extends HttpServletRequestWrapper {
private static final String FROM_ENCODING = "ISO-8859-1";
private static final String TO_ENCODING = "UTF-8";
@ -46,6 +38,7 @@ public class VitroRequest implements HttpServletRequest {
private boolean isSinglePortal;
public VitroRequest(HttpServletRequest _req) {
super(_req);
if( _req == null )
throw new IllegalArgumentException("Non-null HttpServletRequest needed" +
"to construct a VitroRequest");
@ -220,212 +213,212 @@ public class VitroRequest implements HttpServletRequest {
}
/* *********** delegated methods *********** */
public Object getAttribute(String name) {
return _req.getAttribute(name);
}
public Enumeration getAttributeNames() {
return _req.getAttributeNames();
}
public String getAuthType() {
return _req.getAuthType();
}
public String getCharacterEncoding() {
return _req.getCharacterEncoding();
}
public int getContentLength() {
return _req.getContentLength();
}
public String getContentType() {
return _req.getContentType();
}
public String getContextPath() {
return _req.getContextPath();
}
public Cookie[] getCookies() {
return _req.getCookies();
}
public long getDateHeader(String name) {
return _req.getDateHeader(name);
}
public String getHeader(String name) {
return _req.getHeader(name);
}
public Enumeration getHeaderNames() {
return _req.getHeaderNames();
}
public Enumeration getHeaders(String name) {
return _req.getHeaders(name);
}
public ServletInputStream getInputStream() throws IOException {
return _req.getInputStream();
}
public int getIntHeader(String name) {
return _req.getIntHeader(name);
}
public String getLocalAddr() {
return _req.getLocalAddr();
}
public Locale getLocale() {
return _req.getLocale();
}
public Enumeration getLocales() {
return _req.getLocales();
}
public String getLocalName() {
return _req.getLocalName();
}
public int getLocalPort() {
return _req.getLocalPort();
}
public String getMethod() {
return _req.getMethod();
}
public Enumeration getParameterNames() {
return _req.getParameterNames();
}
public String getPathInfo() {
return _req.getPathInfo();
}
public String getPathTranslated() {
return _req.getPathTranslated();
}
public String getProtocol() {
return _req.getProtocol();
}
public String getQueryString() {
return _req.getQueryString();
}
public BufferedReader getReader() throws IOException {
return _req.getReader();
}
@Deprecated
public String getRealPath(String path) {
return _req.getRealPath(path);
}
public String getRemoteAddr() {
return _req.getRemoteAddr();
}
public String getRemoteHost() {
return _req.getRemoteHost();
}
public int getRemotePort() {
return _req.getRemotePort();
}
public String getRemoteUser() {
return _req.getRemoteUser();
}
public RequestDispatcher getRequestDispatcher(String path) {
return _req.getRequestDispatcher(path);
}
public String getRequestedSessionId() {
return _req.getRequestedSessionId();
}
public String getRequestURI() {
return _req.getRequestURI();
}
public StringBuffer getRequestURL() {
return _req.getRequestURL();
}
public String getScheme() {
return _req.getScheme();
}
public String getServerName() {
return _req.getServerName();
}
public int getServerPort() {
return _req.getServerPort();
}
public String getServletPath() {
return _req.getServletPath();
}
public HttpSession getSession() {
return _req.getSession();
}
public HttpSession getSession(boolean create) {
return _req.getSession(create);
}
public Principal getUserPrincipal() {
return _req.getUserPrincipal();
}
public boolean isRequestedSessionIdFromCookie() {
return _req.isRequestedSessionIdFromCookie();
}
@Deprecated
public boolean isRequestedSessionIdFromUrl() {
return _req.isRequestedSessionIdFromUrl();
}
public boolean isRequestedSessionIdFromURL() {
return _req.isRequestedSessionIdFromURL();
}
public boolean isRequestedSessionIdValid() {
return _req.isRequestedSessionIdValid();
}
public boolean isSecure() {
return _req.isSecure();
}
public boolean isUserInRole(String role) {
return _req.isUserInRole(role);
}
public void removeAttribute(String name) {
_req.removeAttribute(name);
}
public void setAttribute(String name, Object o) {
_req.setAttribute(name, o);
}
public void setCharacterEncoding(String env)
throws UnsupportedEncodingException {
_req.setCharacterEncoding(env);
}
// public Object getAttribute(String name) {
// return _req.getAttribute(name);
// }
//
// public Enumeration getAttributeNames() {
// return _req.getAttributeNames();
// }
//
// public String getAuthType() {
// return _req.getAuthType();
// }
//
// public String getCharacterEncoding() {
// return _req.getCharacterEncoding();
// }
//
// public int getContentLength() {
// return _req.getContentLength();
// }
//
// public String getContentType() {
// return _req.getContentType();
// }
//
// public String getContextPath() {
// return _req.getContextPath();
// }
//
// public Cookie[] getCookies() {
// return _req.getCookies();
// }
//
// public long getDateHeader(String name) {
// return _req.getDateHeader(name);
// }
//
// public String getHeader(String name) {
// return _req.getHeader(name);
// }
//
// public Enumeration getHeaderNames() {
// return _req.getHeaderNames();
// }
//
// public Enumeration getHeaders(String name) {
// return _req.getHeaders(name);
// }
//
// public ServletInputStream getInputStream() throws IOException {
// return _req.getInputStream();
// }
//
// public int getIntHeader(String name) {
// return _req.getIntHeader(name);
// }
//
// public String getLocalAddr() {
// return _req.getLocalAddr();
// }
//
// public Locale getLocale() {
// return _req.getLocale();
// }
//
// public Enumeration getLocales() {
// return _req.getLocales();
// }
//
// public String getLocalName() {
// return _req.getLocalName();
// }
//
// public int getLocalPort() {
// return _req.getLocalPort();
// }
//
// public String getMethod() {
// return _req.getMethod();
// }
//
// public Enumeration getParameterNames() {
// return _req.getParameterNames();
// }
//
// public String getPathInfo() {
// return _req.getPathInfo();
// }
//
// public String getPathTranslated() {
// return _req.getPathTranslated();
// }
//
// public String getProtocol() {
// return _req.getProtocol();
// }
//
// public String getQueryString() {
// return _req.getQueryString();
// }
//
// public BufferedReader getReader() throws IOException {
// return _req.getReader();
// }
//
// @Deprecated
// public String getRealPath(String path) {
// return _req.getRealPath(path);
// }
//
// public String getRemoteAddr() {
// return _req.getRemoteAddr();
// }
//
// public String getRemoteHost() {
// return _req.getRemoteHost();
// }
//
// public int getRemotePort() {
// return _req.getRemotePort();
// }
//
// public String getRemoteUser() {
// return _req.getRemoteUser();
// }
//
// public RequestDispatcher getRequestDispatcher(String path) {
// return _req.getRequestDispatcher(path);
// }
//
// public String getRequestedSessionId() {
// return _req.getRequestedSessionId();
// }
//
// public String getRequestURI() {
// return _req.getRequestURI();
// }
//
// public StringBuffer getRequestURL() {
// return _req.getRequestURL();
// }
//
// public String getScheme() {
// return _req.getScheme();
// }
//
// public String getServerName() {
// return _req.getServerName();
// }
//
// public int getServerPort() {
// return _req.getServerPort();
// }
//
// public String getServletPath() {
// return _req.getServletPath();
// }
//
// public HttpSession getSession() {
// return _req.getSession();
// }
//
// public HttpSession getSession(boolean create) {
// return _req.getSession(create);
// }
//
// public Principal getUserPrincipal() {
// return _req.getUserPrincipal();
// }
//
// public boolean isRequestedSessionIdFromCookie() {
// return _req.isRequestedSessionIdFromCookie();
// }
//
// @Deprecated
// public boolean isRequestedSessionIdFromUrl() {
// return _req.isRequestedSessionIdFromUrl();
// }
//
// public boolean isRequestedSessionIdFromURL() {
// return _req.isRequestedSessionIdFromURL();
// }
//
// public boolean isRequestedSessionIdValid() {
// return _req.isRequestedSessionIdValid();
// }
//
// public boolean isSecure() {
// return _req.isSecure();
// }
//
// public boolean isUserInRole(String role) {
// return _req.isUserInRole(role);
// }
//
// public void removeAttribute(String name) {
// _req.removeAttribute(name);
// }
//
// public void setAttribute(String name, Object o) {
// _req.setAttribute(name, o);
// }
//
// public void setCharacterEncoding(String env)
// throws UnsupportedEncodingException {
// _req.setCharacterEncoding(env);
// }
}

View file

@ -15,6 +15,7 @@ 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;
import org.apache.commons.fileupload.FileItem;
@ -51,7 +52,7 @@ import org.apache.commons.fileupload.servlet.ServletFileUpload;
* </p>
*/
@SuppressWarnings("deprecation")
public abstract class FileUploadServletRequest implements HttpServletRequest {
public abstract class FileUploadServletRequest extends HttpServletRequestWrapper {
public static final String FILE_ITEM_MAP = "file_item_map";
public static final String FILE_UPLOAD_EXCEPTION = "file_upload_exception";
@ -79,6 +80,7 @@ public abstract class FileUploadServletRequest implements HttpServletRequest {
private final HttpServletRequest delegate;
public FileUploadServletRequest(HttpServletRequest delegate) {
super(delegate);
this.delegate = delegate;
}
@ -117,259 +119,4 @@ public abstract class FileUploadServletRequest implements HttpServletRequest {
*/
public abstract FileUploadException getFileUploadException();
// ----------------------------------------------------------------------
// Delegated methods.
// ----------------------------------------------------------------------
@Override
public String getAuthType() {
return delegate.getAuthType();
}
@Override
public String getContextPath() {
return delegate.getContextPath();
}
@Override
public Cookie[] getCookies() {
return delegate.getCookies();
}
@Override
public long getDateHeader(String name) {
return delegate.getDateHeader(name);
}
@Override
public String getHeader(String name) {
return delegate.getHeader(name);
}
@Override
public Enumeration<?> getHeaderNames() {
return delegate.getHeaderNames();
}
@Override
public Enumeration<?> getHeaders(String name) {
return delegate.getHeaders(name);
}
@Override
public int getIntHeader(String name) {
return delegate.getIntHeader(name);
}
@Override
public String getMethod() {
return delegate.getMethod();
}
@Override
public String getPathInfo() {
return delegate.getPathInfo();
}
@Override
public String getPathTranslated() {
return delegate.getPathTranslated();
}
@Override
public String getQueryString() {
return delegate.getQueryString();
}
@Override
public String getRemoteUser() {
return delegate.getRemoteUser();
}
@Override
public String getRequestURI() {
return delegate.getRequestURI();
}
@Override
public StringBuffer getRequestURL() {
return delegate.getRequestURL();
}
@Override
public String getRequestedSessionId() {
return delegate.getRequestedSessionId();
}
@Override
public String getServletPath() {
return delegate.getServletPath();
}
@Override
public HttpSession getSession() {
return delegate.getSession();
}
@Override
public HttpSession getSession(boolean create) {
return delegate.getSession(create);
}
@Override
public Principal getUserPrincipal() {
return delegate.getUserPrincipal();
}
@Override
public boolean isRequestedSessionIdFromCookie() {
return delegate.isRequestedSessionIdFromCookie();
}
@Override
public boolean isRequestedSessionIdFromURL() {
return delegate.isRequestedSessionIdFromURL();
}
@Override
public boolean isRequestedSessionIdFromUrl() {
return delegate.isRequestedSessionIdFromUrl();
}
@Override
public boolean isRequestedSessionIdValid() {
return delegate.isRequestedSessionIdValid();
}
@Override
public boolean isUserInRole(String role) {
return delegate.isUserInRole(role);
}
@Override
public Object getAttribute(String name) {
return delegate.getAttribute(name);
}
@Override
public Enumeration<?> getAttributeNames() {
return delegate.getAttributeNames();
}
@Override
public String getCharacterEncoding() {
return delegate.getCharacterEncoding();
}
@Override
public int getContentLength() {
return delegate.getContentLength();
}
@Override
public String getContentType() {
return delegate.getContentType();
}
@Override
public ServletInputStream getInputStream() throws IOException {
return delegate.getInputStream();
}
@Override
public String getLocalAddr() {
return delegate.getLocalAddr();
}
@Override
public String getLocalName() {
return delegate.getLocalName();
}
@Override
public int getLocalPort() {
return delegate.getLocalPort();
}
@Override
public Locale getLocale() {
return delegate.getLocale();
}
@Override
public Enumeration<?> getLocales() {
return delegate.getLocales();
}
@Override
public String getProtocol() {
return delegate.getProtocol();
}
@Override
public BufferedReader getReader() throws IOException {
return delegate.getReader();
}
@Override
public String getRealPath(String path) {
return delegate.getRealPath(path);
}
@Override
public String getRemoteAddr() {
return delegate.getRemoteAddr();
}
@Override
public String getRemoteHost() {
return delegate.getRemoteHost();
}
@Override
public int getRemotePort() {
return delegate.getRemotePort();
}
@Override
public RequestDispatcher getRequestDispatcher(String path) {
return delegate.getRequestDispatcher(path);
}
@Override
public String getScheme() {
return delegate.getScheme();
}
@Override
public String getServerName() {
return delegate.getServerName();
}
@Override
public int getServerPort() {
return delegate.getServerPort();
}
@Override
public boolean isSecure() {
return delegate.isSecure();
}
@Override
public void removeAttribute(String name) {
delegate.removeAttribute(name);
}
@Override
public void setAttribute(String name, Object o) {
delegate.setAttribute(name, o);
}
@Override
public void setCharacterEncoding(String env)
throws UnsupportedEncodingException {
delegate.setCharacterEncoding(env);
}
}

View file

@ -2,19 +2,16 @@
package edu.cornell.mannlib.vitro.webapp.filters;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.regex.Pattern;
import javax.servlet.ServletContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.Cookie;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@ -25,7 +22,7 @@ import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.utils.NamespaceMapper;
import edu.cornell.mannlib.vitro.webapp.utils.NamespaceMapperFactory;
public class URLRewritingHttpServletResponse implements HttpServletResponse {
public class URLRewritingHttpServletResponse extends HttpServletResponseWrapper/*implements HttpServletResponse */{
private final static Log log = LogFactory.getLog(URLRewritingHttpServletResponse.class);
@ -36,35 +33,16 @@ public class URLRewritingHttpServletResponse implements HttpServletResponse {
private Pattern slashPattern = Pattern.compile("/");
public URLRewritingHttpServletResponse(HttpServletResponse response, HttpServletRequest request, ServletContext context) {
super(response);
this._response = response;
this._context = context;
this.wadf = (WebappDaoFactory) context.getAttribute("webappDaoFactory");
this.contextPathDepth = slashPattern.split(request.getContextPath()).length-1;
}
/**
* For use in testing only.
*/
protected URLRewritingHttpServletResponse(){ }
public void addCookie(Cookie arg0) {
_response.addCookie(arg0);
}
public void addDateHeader(String arg0, long arg1) {
_response.addDateHeader(arg0, arg1);
}
public void addHeader(String arg0, String arg1) {
_response.addHeader(arg0, arg1);
}
public void addIntHeader(String arg0, int arg1) {
_response.addIntHeader(arg0, arg1);
}
public boolean containsHeader(String arg0) {
return _response.containsHeader(arg0);
/** for testing. */
protected URLRewritingHttpServletResponse(HttpServletResponse res){
super(res);
}
/**
@ -223,101 +201,6 @@ public class URLRewritingHttpServletResponse implements HttpServletResponse {
}
}
public void flushBuffer() throws IOException {
_response.flushBuffer();
}
public int getBufferSize() {
return _response.getBufferSize();
}
public String getCharacterEncoding() {
return _response.getCharacterEncoding();
}
public String getContentType() {
return _response.getContentType();
}
public Locale getLocale() {
return _response.getLocale();
}
public ServletOutputStream getOutputStream() throws IOException {
return _response.getOutputStream();
}
public PrintWriter getWriter() throws IOException {
return _response.getWriter();
}
public boolean isCommitted() {
return _response.isCommitted();
}
public void reset() {
_response.reset();
}
public void resetBuffer() {
_response.resetBuffer();
}
public void sendError(int arg0, String arg1) throws IOException {
_response.sendError(arg0, arg1);
}
public void sendError(int arg0) throws IOException {
_response.sendError(arg0);
}
public void sendRedirect(String arg0) throws IOException {
_response.sendRedirect(arg0);
}
public void setBufferSize(int arg0) {
_response.setBufferSize(arg0);
}
public void setCharacterEncoding(String arg0) {
_response.setCharacterEncoding(arg0);
}
public void setContentLength(int arg0) {
_response.setContentLength(arg0);
}
public void setContentType(String arg0) {
_response.setContentType(arg0);
}
public void setDateHeader(String arg0, long arg1) {
_response.setDateHeader(arg0, arg1);
}
public void setHeader(String arg0, String arg1) {
_response.setHeader(arg0, arg1);
}
public void setIntHeader(String arg0, int arg1) {
_response.setIntHeader(arg0, arg1);
}
public void setLocale(Locale arg0) {
_response.setLocale(arg0);
}
/**
* @deprecated
*/
public void setStatus(int arg0, String arg1) {
_response.setStatus(arg0, arg1);
}
public void setStatus(int arg0) {
_response.setStatus(arg0);
}
private boolean isExternallyLinkedNamespace(String namespace,List<String> externallyLinkedNamespaces) {
return externallyLinkedNamespaces.contains(namespace);
}

View file

@ -5,6 +5,8 @@ package edu.cornell.mannlib.vitro.webapp.filters;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletResponse;
import junit.framework.Assert;
import org.junit.Test;
@ -23,7 +25,7 @@ public class URLRewritingHttpServletResponseTest {
* with no portals.
*/
protected void urlEncodingStyleA(String urlToEncode, String expectedUrlResult ){
URLRewritingHttpServletResponse urhsr = new URLRewritingHttpServletResponse();
URLRewritingHttpServletResponse urhsr = new URLRewritingHttpServletResponse(new stubs.javax.servlet.http.HttpServletResponseStub());
List<String>externalNamespaces = new ArrayList();
externalNamespaces.add("http://vivo.med.cornell.edu/individual/");
@ -41,7 +43,7 @@ public class URLRewritingHttpServletResponseTest {
* URL like http://caruso.mannlib.cornell.edu/ with no portals.
*/
protected void urlEncodingStyleB(String urlToEncode, String expectedUrlResult){
URLRewritingHttpServletResponse urhsr = new URLRewritingHttpServletResponse();
URLRewritingHttpServletResponse urhsr = new URLRewritingHttpServletResponse(new stubs.javax.servlet.http.HttpServletResponseStub());
List<String>externalNamespaces = new ArrayList();
externalNamespaces.add("http://vivo.med.cornell.edu/individual/");