/**
* Copyright (C) 2012 BonitaSoft S.A.
* BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2.0 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.bonitasoft.test.toolkit.server;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* @author Rohart Bastien
*
*/
public class MockHttpServletResponse implements HttpServletResponse {
HttpSession session = null;
Map<String, Object> parametersMap = null;
Map<String, Object> attributesMap = null;
HttpServletResponse res = null;
public MockHttpServletResponse(HttpServletResponse httpServletResponse){
this.res = httpServletResponse;
}
public MockHttpServletResponse() {
attributesMap = new HashMap<String, Object>();
parametersMap = new HashMap<String, Object>();
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#getCharacterEncoding()
*/
@Override
public String getCharacterEncoding() {
if(res != null){
return res.getCharacterEncoding();
}
return null;
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#getContentType()
*/
@Override
public String getContentType() {
if(res != null){
return res.getContentType();
}
return null;
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#getOutputStream()
*/
@Override
public ServletOutputStream getOutputStream() throws IOException {
if(res != null){
return res.getOutputStream();
}
return null;
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#getWriter()
*/
@Override
public PrintWriter getWriter() throws IOException {
if(res != null){
return res.getWriter();
}
return null;
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#setCharacterEncoding(java.lang.String)
*/
@Override
public void setCharacterEncoding(String charset) {
res.setCharacterEncoding(charset);
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#setContentLength(int)
*/
@Override
public void setContentLength(int len) {
res.setContentLength(len);
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#setContentType(java.lang.String)
*/
@Override
public void setContentType(String type) {
res.setContentType(type);
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#setBufferSize(int)
*/
@Override
public void setBufferSize(int size) {
res.setBufferSize(size);
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#getBufferSize()
*/
@Override
public int getBufferSize() {
if(res != null){
return res.getBufferSize();
}
return 0;
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#flushBuffer()
*/
@Override
public void flushBuffer() throws IOException {
res.flushBuffer();
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#resetBuffer()
*/
@Override
public void resetBuffer() {
res.resetBuffer();
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#isCommitted()
*/
@Override
public boolean isCommitted() {
if(res.isCommitted()){
return true;
}
return false;
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#reset()
*/
@Override
public void reset() {
res.reset();
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#setLocale(java.util.Locale)
*/
@Override
public void setLocale(Locale loc) {
res.setLocale(loc);
}
/* (non-Javadoc)
* @see javax.servlet.ServletResponse#getLocale()
*/
@Override
public Locale getLocale() {
if(res != null){
return res.getLocale();
}
return null;
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#addCookie(javax.servlet.http.Cookie)
*/
@Override
public void addCookie(Cookie cookie) {
if(cookie != null){
res.addCookie(cookie);
}
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#containsHeader(java.lang.String)
*/
@Override
public boolean containsHeader(String name) {
if(res.containsHeader(name)){
return true;
}
return false;
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#encodeURL(java.lang.String)
*/
@Override
public String encodeURL(String url) {
if(res != null){
return res.encodeURL(url);
}
return null;
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#encodeRedirectURL(java.lang.String)
*/
@Override
public String encodeRedirectURL(String url) {
if(res != null){
return res.encodeRedirectURL(url);
}
return null;
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#encodeUrl(java.lang.String)
*/
@Override
public String encodeUrl(String url) {
if(res != null){
return res.encodeUrl(url);
}
return null;
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#encodeRedirectUrl(java.lang.String)
*/
@Override
public String encodeRedirectUrl(String url) {
if(res != null){
return res.encodeRedirectUrl(url);
}
return null;
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#sendError(int, java.lang.String)
*/
@Override
public void sendError(int sc, String msg) throws IOException {
res.sendError(sc, msg);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#sendError(int)
*/
@Override
public void sendError(int sc) throws IOException {
res.sendError(sc);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#sendRedirect(java.lang.String)
*/
@Override
public void sendRedirect(String location) throws IOException {
res.sendRedirect(location);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#setDateHeader(java.lang.String, long)
*/
@Override
public void setDateHeader(String name, long date) {
res.setDateHeader(name, date);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#addDateHeader(java.lang.String, long)
*/
@Override
public void addDateHeader(String name, long date) {
res.addDateHeader(name, date);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#setHeader(java.lang.String, java.lang.String)
*/
@Override
public void setHeader(String name, String value) {
res.setHeader(name, value);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#addHeader(java.lang.String, java.lang.String)
*/
@Override
public void addHeader(String name, String value) {
if(res != null){
res.addHeader(name, value);
}
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#setIntHeader(java.lang.String, int)
*/
@Override
public void setIntHeader(String name, int value) {
res.setIntHeader(name, value);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#addIntHeader(java.lang.String, int)
*/
@Override
public void addIntHeader(String name, int value) {
res.addIntHeader(name, value);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#setStatus(int)
*/
@Override
public void setStatus(int sc) {
res.setStatus(sc);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServletResponse#setStatus(int, java.lang.String)
*/
@Override
public void setStatus(int sc, String sm) {
res.setStatus(sc, sm);
}
}