Package mondrian.xmla
Class XmlaServlet
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- mondrian.xmla.XmlaServlet
-
- All Implemented Interfaces:
Serializable
,Servlet
,ServletConfig
,XmlaConstants
- Direct Known Subclasses:
DefaultXmlaServlet
public abstract class XmlaServlet extends HttpServlet implements XmlaConstants
Base XML/A servlet.- Since:
- December, 2005
- Author:
- Gang Chen
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
XmlaServlet.Phase
-
Field Summary
Fields Modifier and Type Field Description protected String
charEncoding
protected static org.apache.log4j.Logger
LOGGER
static String
PARAM_CALLBACKS
static String
PARAM_CHAR_ENCODING
static String
PARAM_DATASOURCES_CONFIG
static String
PARAM_OPTIONAL_DATASOURCE_CONFIG
protected XmlaHandler
xmlaHandler
-
Fields inherited from interface mondrian.xmla.XmlaConstants
CHH_AUTHORIZATION_CODE, CHH_AUTHORIZATION_FAULT_FS, CHH_CODE, CHH_FAULT_FS, CLIENT_FAULT_FC, CONTEXT_MIME_TYPE, CONTEXT_ROLE_NAME, CONTEXT_XMLA_PASSWORD, CONTEXT_XMLA_SESSION_ID, CONTEXT_XMLA_SESSION_STATE, CONTEXT_XMLA_SESSION_STATE_BEGIN, CONTEXT_XMLA_SESSION_STATE_END, CONTEXT_XMLA_SESSION_STATE_WITHIN, CONTEXT_XMLA_USERNAME, CPOSTA_CODE, CPOSTA_FAULT_FS, CPREA_CODE, CPREA_FAULT_FS, FAULT_ACTOR, FAULT_FC_PREFIX, FAULT_FS_PREFIX, FAULT_NS_PREFIX, HSB_ACCESS_DENIED_CODE, HSB_ACCESS_DENIED_FAULT_FS, HSB_BAD_COMMAND_CODE, HSB_BAD_COMMAND_FAULT_FS, HSB_BAD_METHOD_CODE, HSB_BAD_METHOD_FAULT_FS, HSB_BAD_METHOD_NS_CODE, HSB_BAD_METHOD_NS_FAULT_FS, HSB_BAD_NON_NULLABLE_COLUMN_CODE, HSB_BAD_NON_NULLABLE_COLUMN_FAULT_FS, HSB_BAD_PROPERTIES_CODE, HSB_BAD_PROPERTIES_FAULT_FS, HSB_BAD_PROPERTIES_LIST_CODE, HSB_BAD_PROPERTIES_LIST_FAULT_FS, HSB_BAD_REQUEST_TYPE_CODE, HSB_BAD_REQUEST_TYPE_FAULT_FS, HSB_BAD_RESTRICTION_LIST_CODE, HSB_BAD_RESTRICTION_LIST_FAULT_FS, HSB_BAD_RESTRICTIONS_CODE, HSB_BAD_RESTRICTIONS_FAULT_FS, HSB_BAD_SOAP_BODY_CODE, HSB_BAD_SOAP_BODY_FAULT_FS, HSB_BAD_STATEMENT_CODE, HSB_BAD_STATEMENT_FAULT_FS, HSB_CONNECTION_DATA_SOURCE_CODE, HSB_CONNECTION_DATA_SOURCE_FAULT_FS, HSB_DISCOVER_FORMAT_CODE, HSB_DISCOVER_FORMAT_FAULT_FS, HSB_DISCOVER_UNPARSE_CODE, HSB_DISCOVER_UNPARSE_FAULT_FS, HSB_DRILL_THROUGH_FORMAT_CODE, HSB_DRILL_THROUGH_FORMAT_FAULT_FS, HSB_DRILL_THROUGH_NOT_ALLOWED_CODE, HSB_DRILL_THROUGH_NOT_ALLOWED_FAULT_FS, HSB_DRILL_THROUGH_SQL_CODE, HSB_DRILL_THROUGH_SQL_FAULT_FS, HSB_EXECUTE_QUERY_CODE, HSB_EXECUTE_QUERY_FAULT_FS, HSB_EXECUTE_UNPARSE_CODE, HSB_EXECUTE_UNPARSE_FAULT_FS, HSB_PARSE_QUERY_CODE, HSB_PARSE_QUERY_FAULT_FS, HSB_PROCESS_CODE, HSB_PROCESS_FAULT_FS, HSB_UNKNOWN_CODE, HSB_UNKNOWN_FAULT_FS, HSH_BAD_SESSION_ID_CODE, HSH_BAD_SESSION_ID_FAULT_FS, HSH_MUST_UNDERSTAND_CODE, HSH_MUST_UNDERSTAND_FAULT_FS, HSH_UNKNOWN_CODE, HSH_UNKNOWN_FAULT_FS, MONDRIAN_NAMESPACE, MSM_UNKNOWN_CODE, MSM_UNKNOWN_FAULT_FS, MUST_UNDERSTAND_FAULT_FC, NS_SOAP_ENC_1_1, NS_SOAP_ENC_1_2, NS_SOAP_ENV_1_1, NS_SOAP_ENV_1_2, NS_SOAP_SECEXT, NS_SQL, NS_XMLA, NS_XMLA_EMPTY, NS_XMLA_EX, NS_XMLA_MDDATASET, NS_XMLA_ROWSET, NS_XSD, NS_XSI, SERVER_FAULT_FC, SOAP_MUST_UNDERSTAND_ATTR, SOAP_PREFIX, UNKNOWN_ERROR_CODE, UNKNOWN_ERROR_FAULT_FS, USM_DOM_FACTORY_CODE, USM_DOM_FACTORY_FAULT_FS, USM_DOM_PARSE_CODE, USM_DOM_PARSE_FAULT_FS, USM_DOM_PARSE_IO_CODE, USM_DOM_PARSE_IO_FAULT_FS, USM_REQUEST_INPUT_CODE, USM_REQUEST_INPUT_FAULT_FS, USM_REQUEST_STATE_CODE, USM_REQUEST_STATE_FAULT_FS, USM_UNKNOWN_CODE, USM_UNKNOWN_FAULT_FS, VERSION_MISSMATCH_FAULT_FC, XMLA_BEGIN_SESSION, XMLA_END_SESSION, XMLA_SECURITY, XMLA_SESSION, XMLA_SESSION_ID
-
-
Constructor Summary
Constructors Constructor Description XmlaServlet()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addCallback(XmlaRequestCallback callback)
Registers a callback.protected abstract XmlaHandler.ConnectionFactory
createConnectionFactory(ServletConfig servletConfig)
protected void
doPost(HttpServletRequest request, HttpServletResponse response)
Main entry for HTTP post methodstatic boolean
getBooleanInitParameter(ServletConfig servletConfig, String paramName)
Returns true if paramName's value is not null and 'true'.protected List<XmlaRequestCallback>
getCallbacks()
Returns the list of callbacks.static boolean
getParameter(HttpServletRequest req, String paramName)
protected XmlaHandler
getXmlaHandler()
Gets (creating if needed) the XmlaHandler.protected abstract void
handleFault(HttpServletResponse response, byte[][] responseSoapParts, XmlaServlet.Phase phase, Throwable t)
Implement to application specified handler of SOAP fualt.protected abstract void
handleSoapBody(HttpServletResponse response, Element[] requestSoapParts, byte[][] responseSoapParts, Map<String,Object> context)
Implement to handle XML/A request.protected abstract void
handleSoapHeader(HttpServletResponse response, Element[] requestSoapParts, byte[][] responseSoapParts, Map<String,Object> context)
Implement to handle application specified SOAP header.void
init(ServletConfig servletConfig)
Initializes servlet and XML/A handler.protected void
initCallbacks(ServletConfig servletConfig)
Registers callbacks configured in web.xml.protected void
initCharEncodingHandler(ServletConfig servletConfig)
Initialize character encodingprotected abstract void
marshallSoapMessage(HttpServletResponse response, byte[][] responseSoapParts, Enumeration.ResponseMimeType responseMimeType)
Implement to provide application specified SOAP marshalling algorithm.protected abstract void
unmarshallSoapMessage(HttpServletRequest request, Element[] requestSoapParts)
Implement to provide application specified SOAP unmarshalling algorithm.-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPut, doTrace, getLastModified, service, service
-
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
-
-
-
Field Detail
-
LOGGER
protected static final org.apache.log4j.Logger LOGGER
-
PARAM_DATASOURCES_CONFIG
public static final String PARAM_DATASOURCES_CONFIG
- See Also:
- Constant Field Values
-
PARAM_OPTIONAL_DATASOURCE_CONFIG
public static final String PARAM_OPTIONAL_DATASOURCE_CONFIG
- See Also:
- Constant Field Values
-
PARAM_CHAR_ENCODING
public static final String PARAM_CHAR_ENCODING
- See Also:
- Constant Field Values
-
PARAM_CALLBACKS
public static final String PARAM_CALLBACKS
- See Also:
- Constant Field Values
-
xmlaHandler
protected XmlaHandler xmlaHandler
-
charEncoding
protected String charEncoding
-
-
Method Detail
-
getBooleanInitParameter
public static boolean getBooleanInitParameter(ServletConfig servletConfig, String paramName)
Returns true if paramName's value is not null and 'true'.
-
getParameter
public static boolean getParameter(HttpServletRequest req, String paramName)
-
init
public void init(ServletConfig servletConfig) throws ServletException
Initializes servlet and XML/A handler.- Specified by:
init
in interfaceServlet
- Overrides:
init
in classGenericServlet
- Throws:
ServletException
-
createConnectionFactory
protected abstract XmlaHandler.ConnectionFactory createConnectionFactory(ServletConfig servletConfig) throws ServletException
- Throws:
ServletException
-
getXmlaHandler
protected XmlaHandler getXmlaHandler()
Gets (creating if needed) the XmlaHandler.- Returns:
- XMLA handler
-
addCallback
protected final void addCallback(XmlaRequestCallback callback)
Registers a callback.
-
getCallbacks
protected final List<XmlaRequestCallback> getCallbacks()
Returns the list of callbacks. The list is immutable.- Returns:
- list of callbacks
-
doPost
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
Main entry for HTTP post method- Overrides:
doPost
in classHttpServlet
- Throws:
ServletException
IOException
-
unmarshallSoapMessage
protected abstract void unmarshallSoapMessage(HttpServletRequest request, Element[] requestSoapParts) throws XmlaException
Implement to provide application specified SOAP unmarshalling algorithm.- Throws:
XmlaException
-
handleSoapHeader
protected abstract void handleSoapHeader(HttpServletResponse response, Element[] requestSoapParts, byte[][] responseSoapParts, Map<String,Object> context) throws XmlaException
Implement to handle application specified SOAP header.- Throws:
XmlaException
-
handleSoapBody
protected abstract void handleSoapBody(HttpServletResponse response, Element[] requestSoapParts, byte[][] responseSoapParts, Map<String,Object> context) throws XmlaException
Implement to handle XML/A request.- Throws:
XmlaException
-
marshallSoapMessage
protected abstract void marshallSoapMessage(HttpServletResponse response, byte[][] responseSoapParts, Enumeration.ResponseMimeType responseMimeType) throws XmlaException
Implement to provide application specified SOAP marshalling algorithm.- Throws:
XmlaException
-
handleFault
protected abstract void handleFault(HttpServletResponse response, byte[][] responseSoapParts, XmlaServlet.Phase phase, Throwable t)
Implement to application specified handler of SOAP fualt.
-
initCharEncodingHandler
protected void initCharEncodingHandler(ServletConfig servletConfig)
Initialize character encoding
-
initCallbacks
protected void initCallbacks(ServletConfig servletConfig)
Registers callbacks configured in web.xml.
-
-