mondrian.xmla
Class XmlaErrorTest.Callback
java.lang.Object
mondrian.xmla.XmlaErrorTest.Callback
- All Implemented Interfaces:
- XmlaRequestCallback
- Enclosing class:
- XmlaErrorTest
static class XmlaErrorTest.Callback
- extends Object
- implements XmlaRequestCallback
Method Summary |
String |
generateSessionId(Map<String,Object> context)
The Callback is requested to generate a sequence id string. |
void |
init(javax.servlet.ServletConfig servletConfig)
|
void |
postAction(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
byte[][] responseSoapParts,
Map<String,Object> context)
This is called after all Mondrian processing (DISCOVER/EXECUTE) has
occurred. |
void |
preAction(javax.servlet.http.HttpServletRequest request,
Element[] requestSoapParts,
Map<String,Object> context)
This is called after the headers have been process but before the
body (DISCOVER/EXECUTE) has been processed. |
boolean |
processHttpHeader(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Map<String,Object> context)
Process the request header items. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MY_SESSION_ID
static String MY_SESSION_ID
XmlaErrorTest.Callback
XmlaErrorTest.Callback()
init
public void init(javax.servlet.ServletConfig servletConfig)
throws javax.servlet.ServletException
- Specified by:
init
in interface XmlaRequestCallback
- Throws:
javax.servlet.ServletException
processHttpHeader
public boolean processHttpHeader(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Map<String,Object> context)
throws Exception
- Description copied from interface:
XmlaRequestCallback
- Process the request header items. Specifically if present the
Authorization and Expect headers. If the Authorization header is
present, then the callback can validate the user/password. If
authentication fails, the callback should throw an XmlaException
with the correct XmlaConstants values. The XmlaRequestCallback.Helper
class contains the authorizationException method that can be used
by a callback to generate the XmlaException with the correct values.
If the Expect header is set with "100-continue", then it is
upto the callback to create the appropriate response and return false.
In this case, the XmlaServlet stops processing and returns the
response to the client application. To facilitate the generation of
the response, the XmlaRequestCallback.Helper has the method
generatedExpectResponse that can be called by the callback.
Note that it is upto the XMLA client to determine whether or not
there is an Expect header entry (ADOMD.NET seems to like to do this).
- Specified by:
processHttpHeader
in interface XmlaRequestCallback
- Returns:
- true if XmlaServlet handling is to continue and false if
there was an Expect header "100-continue".
- Throws:
Exception
preAction
public void preAction(javax.servlet.http.HttpServletRequest request,
Element[] requestSoapParts,
Map<String,Object> context)
throws Exception
- Description copied from interface:
XmlaRequestCallback
- This is called after the headers have been process but before the
body (DISCOVER/EXECUTE) has been processed.
- Specified by:
preAction
in interface XmlaRequestCallback
- Throws:
Exception
generateSessionId
public String generateSessionId(Map<String,Object> context)
- Description copied from interface:
XmlaRequestCallback
- The Callback is requested to generate a sequence id string. This
sequence id was requested by the XMLA client and will be used
for all subsequent communications in the Soap Header block.
Implementation can return
null
if they do not want
to generate a custom session ID, in which case, the default algorithm
to generate session IDs will be used.
- Specified by:
generateSessionId
in interface XmlaRequestCallback
- Parameters:
context
- The context of this query.
- Returns:
- An arbitrary session id to use, or
null
.
postAction
public void postAction(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
byte[][] responseSoapParts,
Map<String,Object> context)
throws Exception
- Description copied from interface:
XmlaRequestCallback
- This is called after all Mondrian processing (DISCOVER/EXECUTE) has
occurred.
- Specified by:
postAction
in interface XmlaRequestCallback
- Throws:
Exception