mondrian.xmla
Class XmlaExcelXPTest.Callback

java.lang.Object
  extended by mondrian.xmla.XmlaExcelXPTest.Callback
All Implemented Interfaces:
XmlaRequestCallback
Enclosing class:
XmlaExcelXPTest

static class XmlaExcelXPTest.Callback
extends Object
implements XmlaRequestCallback


Nested Class Summary
 
Nested classes/interfaces inherited from interface mondrian.xmla.XmlaRequestCallback
XmlaRequestCallback.Helper
 
Field Summary
(package private)  String MY_SESSION_ID
           
 
Fields inherited from interface mondrian.xmla.XmlaRequestCallback
AUTHORIZATION, EXPECT, EXPECT_100_CONTINUE
 
Constructor Summary
XmlaExcelXPTest.Callback()
           
 
Method Summary
 String generateSessionId(Map<String,Object> context)
          The Callback is requested to generate a sequence id string.
 void init(ServletConfig servletConfig)
           
 void postAction(HttpServletRequest request, HttpServletResponse response, byte[][] responseSoapParts, Map<String,Object> context)
          This is called after all Mondrian processing (DISCOVER/EXECUTE) has occurred.
 void preAction(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(HttpServletRequest request, 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
 

Field Detail

MY_SESSION_ID

String MY_SESSION_ID
Constructor Detail

XmlaExcelXPTest.Callback

XmlaExcelXPTest.Callback()
Method Detail

init

public void init(ServletConfig servletConfig)
          throws ServletException
Specified by:
init in interface XmlaRequestCallback
Throws:
ServletException

processHttpHeader

public boolean processHttpHeader(HttpServletRequest request,
                                 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(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.

Specified by:
generateSessionId in interface XmlaRequestCallback

postAction

public void postAction(HttpServletRequest request,
                       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

SourceForge.net_Logo