mondrian.tui
Class MockHttpServletResponse

java.lang.Object
  extended by mondrian.tui.MockHttpServletResponse
All Implemented Interfaces:
HttpServletResponse, ServletResponse

public class MockHttpServletResponse
extends 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
(package private) static class MockHttpServletResponse.MockServletOutputStream
           
 
Field Summary
static 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
MockHttpServletResponse()
           
 
Method Summary
 void addCookie(Cookie cookie)
          Adds the specified cookie to the response.
 void addDateHeader(String name, long date)
          Adds a response header with the given name and date-value.
 void addHeader(String name, String value)
          Adds a response header with the given name and value.
 void addIntHeader(String name, int value)
          Adds a response header with the given name and integer value.
 boolean containsHeader(String name)
          Returns a boolean indicating whether the named response header has already been set.
protected  String encode(String s)
           
 String encodeRedirectUrl(String s)
          Deprecated. Method encodeRedirectUrl is deprecated
 String encodeRedirectURL(String url)
          Encodes the specified URL for use in the sendRedirect method or, if encoding is not needed, returns the URL unchanged.
 String encodeUrl(String s)
          Deprecated. Method encodeUrl is deprecated
 String encodeURL(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.
 String getCharacterEncoding()
          Returns the name of the charset used for the MIME body sent in this response.
 String getContentType()
           
 List getCookies()
           
 int getErrorCode()
           
 String getHeader(String name)
           
 List<String> getHeaderList(String name)
           
 Locale getLocale()
          Returns the locale assigned to the response.
 ServletOutputStream getOutputStream()
          Returns a ServletOutputStream suitable for writing binary data in the response.
 int getStatusCode()
           
 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, String msg)
          Sends an error response to the client using the specified status code and descriptive message.
 void sendRedirect(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(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 setContentType(String contentType)
          Sets the content type of the response being sent to the client.
 void setDateHeader(String name, long date)
          Sets a response header with the given name and date-value.
 void setHeader(String name, String value)
          Sets a response header with the given name and value.
 void setIntHeader(String name, int value)
          Sets a response header with the given name and integer value.
 void setLocale(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, 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.
 byte[] toByteArray()
           
 boolean wasErrorSent()
           
 boolean wasRedirectSent()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DATE_FORMAT_HEADER

public static final String DATE_FORMAT_HEADER
See Also:
Constant Field Values
Constructor Detail

MockHttpServletResponse

public MockHttpServletResponse()
Method Detail

getCharacterEncoding

public String getCharacterEncoding()
Returns the name of the charset used for the MIME body sent in this response.

Specified by:
getCharacterEncoding in interface ServletResponse

getOutputStream

public ServletOutputStream getOutputStream()
                                    throws IOException
Returns a ServletOutputStream suitable for writing binary data in the response.

Specified by:
getOutputStream in interface ServletResponse
Throws:
IOException

getWriter

public PrintWriter getWriter()
                      throws IOException
Returns a PrintWriter object that can send character text to the client.

Specified by:
getWriter in interface ServletResponse
Throws:
IOException

setCharacterEncoding

public void setCharacterEncoding(String charEncoding)
Specified by:
setCharacterEncoding in interface ServletResponse

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 interface ServletResponse

setContentType

public void setContentType(String contentType)
Sets the content type of the response being sent to the client.

Specified by:
setContentType in interface ServletResponse

setBufferSize

public void setBufferSize(int size)
Sets the preferred buffer size for the body of the response.

Specified by:
setBufferSize in interface ServletResponse

getBufferSize

public int getBufferSize()
Returns the actual buffer size used for the response.

Specified by:
getBufferSize in interface ServletResponse

flushBuffer

public void flushBuffer()
                 throws IOException
Forces any content in the buffer to be written to the client.

Specified by:
flushBuffer in interface ServletResponse
Throws:
IOException

resetBuffer

public void resetBuffer()
Specified by:
resetBuffer in interface ServletResponse

isCommitted

public boolean isCommitted()
Returns a boolean indicating if the response has been committed.

Specified by:
isCommitted in interface ServletResponse

reset

public void reset()
Clears any data that exists in the buffer as well as the status code and headers.

Specified by:
reset in interface ServletResponse

setLocale

public void setLocale(Locale locale)
Sets the locale of the response, setting the headers (including the Content-Type's charset) as appropriate.

Specified by:
setLocale in interface ServletResponse

getLocale

public Locale getLocale()
Returns the locale assigned to the response.

Specified by:
getLocale in interface ServletResponse

addCookie

public void addCookie(Cookie cookie)
Adds the specified cookie to the response.

Specified by:
addCookie in interface HttpServletResponse

containsHeader

public boolean containsHeader(String name)
Returns a boolean indicating whether the named response header has already been set.

Specified by:
containsHeader in interface HttpServletResponse

encodeURL

public String encodeURL(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 interface HttpServletResponse

encodeRedirectURL

public String encodeRedirectURL(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 interface HttpServletResponse

encodeUrl

public String encodeUrl(String s)
Deprecated. Method encodeUrl is deprecated

Specified by:
encodeUrl in interface HttpServletResponse

encodeRedirectUrl

public String encodeRedirectUrl(String s)
Deprecated. Method encodeRedirectUrl is deprecated

Specified by:
encodeRedirectUrl in interface HttpServletResponse

sendError

public void sendError(int code,
                      String msg)
               throws IOException
Sends an error response to the client using the specified status code and descriptive message.

Specified by:
sendError in interface HttpServletResponse
Throws:
IOException

sendError

public void sendError(int code)
               throws IOException
Sends an error response to the client using the specified status.

Specified by:
sendError in interface HttpServletResponse
Throws:
IOException

sendRedirect

public void sendRedirect(String location)
                  throws IOException
Sends a temporary redirect response to the client using the specified redirect location URL.

Specified by:
sendRedirect in interface HttpServletResponse
Throws:
IOException

setDateHeader

public void setDateHeader(String name,
                          long date)
Sets a response header with the given name and date-value.

Specified by:
setDateHeader in interface HttpServletResponse

addDateHeader

public void addDateHeader(String name,
                          long date)
Adds a response header with the given name and date-value.

Specified by:
addDateHeader in interface HttpServletResponse

setHeader

public void setHeader(String name,
                      String value)
Sets a response header with the given name and value.

Specified by:
setHeader in interface HttpServletResponse

addHeader

public void addHeader(String name,
                      String value)
Adds a response header with the given name and value.

Specified by:
addHeader in interface HttpServletResponse

setIntHeader

public void setIntHeader(String name,
                         int value)
Sets a response header with the given name and integer value.

Specified by:
setIntHeader in interface HttpServletResponse

addIntHeader

public void addIntHeader(String name,
                         int value)
Adds a response header with the given name and integer value.

Specified by:
addIntHeader in interface HttpServletResponse

setStatus

public void setStatus(int status)
Sets the status code for this response.

Specified by:
setStatus in interface HttpServletResponse

setStatus

public void setStatus(int status,
                      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 interface HttpServletResponse

toByteArray

public byte[] toByteArray()
                   throws IOException
Throws:
IOException

getHeader

public String getHeader(String name)

getContentType

public String getContentType()
Specified by:
getContentType in interface ServletResponse

getHeaderList

public List<String> getHeaderList(String name)

getStatusCode

public int getStatusCode()

getErrorCode

public int getErrorCode()

getCookies

public List getCookies()

wasErrorSent

public boolean wasErrorSent()

wasRedirectSent

public boolean wasRedirectSent()

encode

protected String encode(String s)

SourceForge.net_Logo