Package mondrian.tui
Class MockHttpServletResponse
- java.lang.Object
-
- mondrian.tui.MockHttpServletResponse
-
- All Implemented Interfaces:
HttpServletResponse
,ServletResponse
public class MockHttpServletResponse extends java.lang.Object implements HttpServletResponse
This is a partial implementation of the HttpServletResponse where just enough is present to allow for communication between Mondrian's XMLA code and other code in the same JVM. Currently it is used in both the CmdRunner and in XMLA JUnit tests.If you need to add to this implementation, please do so.
- Author:
- Richard M. Emberson
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
MockHttpServletResponse.MockServletOutputStream
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DATE_FORMAT_HEADER
-
Fields inherited from interface javax.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_FOUND, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
-
-
Constructor Summary
Constructors Constructor Description MockHttpServletResponse()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addCookie(Cookie cookie)
Adds the specified cookie to the response.void
addDateHeader(java.lang.String name, long date)
Adds a response header with the given name and date-value.void
addHeader(java.lang.String name, java.lang.String value)
Adds a response header with the given name and value.void
addIntHeader(java.lang.String name, int value)
Adds a response header with the given name and integer value.boolean
containsHeader(java.lang.String name)
Returns a boolean indicating whether the named response header has already been set.protected java.lang.String
encode(java.lang.String s)
java.lang.String
encodeRedirectUrl(java.lang.String s)
Deprecated.Method encodeRedirectUrl is deprecatedjava.lang.String
encodeRedirectURL(java.lang.String url)
Encodes the specified URL for use in the sendRedirect method or, if encoding is not needed, returns the URL unchanged.java.lang.String
encodeUrl(java.lang.String s)
Deprecated.Method encodeUrl is deprecatedjava.lang.String
encodeURL(java.lang.String url)
Encodes the specified URL by including the session ID in it, or, if encoding is not needed, returns the URL unchanged.void
flushBuffer()
Forces any content in the buffer to be written to the client.int
getBufferSize()
Returns the actual buffer size used for the response.java.lang.String
getCharacterEncoding()
Returns the name of the charset used for the MIME body sent in this response.java.lang.String
getContentType()
java.util.List
getCookies()
int
getErrorCode()
java.lang.String
getHeader(java.lang.String name)
java.util.List<java.lang.String>
getHeaderList(java.lang.String name)
java.util.Collection<java.lang.String>
getHeaderNames()
java.util.Collection<java.lang.String>
getHeaders(java.lang.String name)
java.util.Locale
getLocale()
Returns the locale assigned to the response.ServletOutputStream
getOutputStream()
Returns a ServletOutputStream suitable for writing binary data in the response.int
getStatus()
int
getStatusCode()
java.io.PrintWriter
getWriter()
Returns a PrintWriter object that can send character text to the client.boolean
isCommitted()
Returns a boolean indicating if the response has been committed.void
reset()
Clears any data that exists in the buffer as well as the status code and headers.void
resetBuffer()
void
sendError(int code)
Sends an error response to the client using the specified status.void
sendError(int code, java.lang.String msg)
Sends an error response to the client using the specified status code and descriptive message.void
sendRedirect(java.lang.String location)
Sends a temporary redirect response to the client using the specified redirect location URL.void
setBufferSize(int size)
Sets the preferred buffer size for the body of the response.void
setCharacterEncoding(java.lang.String charEncoding)
void
setContentLength(int len)
Sets the length of the content body in the response In HTTP servlets, this method sets the HTTP Content-Length header.void
setContentLengthLong(long len)
void
setContentType(java.lang.String contentType)
Sets the content type of the response being sent to the client.void
setDateHeader(java.lang.String name, long date)
Sets a response header with the given name and date-value.void
setHeader(java.lang.String name, java.lang.String value)
Sets a response header with the given name and value.void
setIntHeader(java.lang.String name, int value)
Sets a response header with the given name and integer value.void
setLocale(java.util.Locale locale)
Sets the locale of the response, setting the headers (including the Content-Type's charset) as appropriate.void
setStatus(int status)
Sets the status code for this response.void
setStatus(int status, java.lang.String s)
Deprecated.Method setStatus is deprecated Deprecated.byte[]
toByteArray()
boolean
wasErrorSent()
boolean
wasRedirectSent()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface javax.servlet.http.HttpServletResponse
getTrailerFields, setTrailerFields
-
-
-
-
Field Detail
-
DATE_FORMAT_HEADER
public static final java.lang.String DATE_FORMAT_HEADER
- See Also:
- Constant Field Values
-
-
Method Detail
-
getCharacterEncoding
public java.lang.String getCharacterEncoding()
Returns the name of the charset used for the MIME body sent in this response.- Specified by:
getCharacterEncoding
in interfaceServletResponse
-
getOutputStream
public ServletOutputStream getOutputStream() throws java.io.IOException
Returns a ServletOutputStream suitable for writing binary data in the response.- Specified by:
getOutputStream
in interfaceServletResponse
- Throws:
java.io.IOException
-
getWriter
public java.io.PrintWriter getWriter() throws java.io.IOException
Returns a PrintWriter object that can send character text to the client.- Specified by:
getWriter
in interfaceServletResponse
- Throws:
java.io.IOException
-
setCharacterEncoding
public void setCharacterEncoding(java.lang.String charEncoding)
- Specified by:
setCharacterEncoding
in interfaceServletResponse
-
setContentLength
public void setContentLength(int len)
Sets the length of the content body in the response In HTTP servlets, this method sets the HTTP Content-Length header.- Specified by:
setContentLength
in interfaceServletResponse
-
setContentType
public void setContentType(java.lang.String contentType)
Sets the content type of the response being sent to the client.- Specified by:
setContentType
in interfaceServletResponse
-
setBufferSize
public void setBufferSize(int size)
Sets the preferred buffer size for the body of the response.- Specified by:
setBufferSize
in interfaceServletResponse
-
getBufferSize
public int getBufferSize()
Returns the actual buffer size used for the response.- Specified by:
getBufferSize
in interfaceServletResponse
-
flushBuffer
public void flushBuffer() throws java.io.IOException
Forces any content in the buffer to be written to the client.- Specified by:
flushBuffer
in interfaceServletResponse
- Throws:
java.io.IOException
-
resetBuffer
public void resetBuffer()
- Specified by:
resetBuffer
in interfaceServletResponse
-
isCommitted
public boolean isCommitted()
Returns a boolean indicating if the response has been committed.- Specified by:
isCommitted
in interfaceServletResponse
-
reset
public void reset()
Clears any data that exists in the buffer as well as the status code and headers.- Specified by:
reset
in interfaceServletResponse
-
setLocale
public void setLocale(java.util.Locale locale)
Sets the locale of the response, setting the headers (including the Content-Type's charset) as appropriate.- Specified by:
setLocale
in interfaceServletResponse
-
getLocale
public java.util.Locale getLocale()
Returns the locale assigned to the response.- Specified by:
getLocale
in interfaceServletResponse
-
addCookie
public void addCookie(Cookie cookie)
Adds the specified cookie to the response.- Specified by:
addCookie
in interfaceHttpServletResponse
-
containsHeader
public boolean containsHeader(java.lang.String name)
Returns a boolean indicating whether the named response header has already been set.- Specified by:
containsHeader
in interfaceHttpServletResponse
-
encodeURL
public java.lang.String encodeURL(java.lang.String url)
Encodes the specified URL by including the session ID in it, or, if encoding is not needed, returns the URL unchanged.- Specified by:
encodeURL
in interfaceHttpServletResponse
-
encodeRedirectURL
public java.lang.String encodeRedirectURL(java.lang.String url)
Encodes the specified URL for use in the sendRedirect method or, if encoding is not needed, returns the URL unchanged.- Specified by:
encodeRedirectURL
in interfaceHttpServletResponse
-
encodeUrl
public java.lang.String encodeUrl(java.lang.String s)
Deprecated.Method encodeUrl is deprecated- Specified by:
encodeUrl
in interfaceHttpServletResponse
-
encodeRedirectUrl
public java.lang.String encodeRedirectUrl(java.lang.String s)
Deprecated.Method encodeRedirectUrl is deprecated- Specified by:
encodeRedirectUrl
in interfaceHttpServletResponse
-
sendError
public void sendError(int code, java.lang.String msg) throws java.io.IOException
Sends an error response to the client using the specified status code and descriptive message.- Specified by:
sendError
in interfaceHttpServletResponse
- Throws:
java.io.IOException
-
sendError
public void sendError(int code) throws java.io.IOException
Sends an error response to the client using the specified status.- Specified by:
sendError
in interfaceHttpServletResponse
- Throws:
java.io.IOException
-
sendRedirect
public void sendRedirect(java.lang.String location) throws java.io.IOException
Sends a temporary redirect response to the client using the specified redirect location URL.- Specified by:
sendRedirect
in interfaceHttpServletResponse
- Throws:
java.io.IOException
-
setDateHeader
public void setDateHeader(java.lang.String name, long date)
Sets a response header with the given name and date-value.- Specified by:
setDateHeader
in interfaceHttpServletResponse
-
addDateHeader
public void addDateHeader(java.lang.String name, long date)
Adds a response header with the given name and date-value.- Specified by:
addDateHeader
in interfaceHttpServletResponse
-
setHeader
public void setHeader(java.lang.String name, java.lang.String value)
Sets a response header with the given name and value.- Specified by:
setHeader
in interfaceHttpServletResponse
-
addHeader
public void addHeader(java.lang.String name, java.lang.String value)
Adds a response header with the given name and value.- Specified by:
addHeader
in interfaceHttpServletResponse
-
setIntHeader
public void setIntHeader(java.lang.String name, int value)
Sets a response header with the given name and integer value.- Specified by:
setIntHeader
in interfaceHttpServletResponse
-
addIntHeader
public void addIntHeader(java.lang.String name, int value)
Adds a response header with the given name and integer value.- Specified by:
addIntHeader
in interfaceHttpServletResponse
-
setStatus
public void setStatus(int status)
Sets the status code for this response.- Specified by:
setStatus
in interfaceHttpServletResponse
-
setStatus
public void setStatus(int status, java.lang.String s)
Deprecated.Method setStatus is deprecated Deprecated. As of version 2.1, due to ambiguous meaning of the message parameter. To set a status code use setStatus(int), to send an error with a description use sendError(int, String). Sets the status code and message for this response.- Specified by:
setStatus
in interfaceHttpServletResponse
-
toByteArray
public byte[] toByteArray() throws java.io.IOException
- Throws:
java.io.IOException
-
getHeader
public java.lang.String getHeader(java.lang.String name)
- Specified by:
getHeader
in interfaceHttpServletResponse
-
getContentType
public java.lang.String getContentType()
- Specified by:
getContentType
in interfaceServletResponse
-
getHeaderList
public java.util.List<java.lang.String> getHeaderList(java.lang.String name)
-
getStatusCode
public int getStatusCode()
-
getErrorCode
public int getErrorCode()
-
getCookies
public java.util.List getCookies()
-
wasErrorSent
public boolean wasErrorSent()
-
wasRedirectSent
public boolean wasRedirectSent()
-
encode
protected java.lang.String encode(java.lang.String s)
-
getStatus
public int getStatus()
- Specified by:
getStatus
in interfaceHttpServletResponse
-
getHeaders
public java.util.Collection<java.lang.String> getHeaders(java.lang.String name)
- Specified by:
getHeaders
in interfaceHttpServletResponse
-
getHeaderNames
public java.util.Collection<java.lang.String> getHeaderNames()
- Specified by:
getHeaderNames
in interfaceHttpServletResponse
-
setContentLengthLong
public void setContentLengthLong(long len)
- Specified by:
setContentLengthLong
in interfaceServletResponse
-
-