Package mondrian.xmla
Class XmlaServlet
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- mondrian.xmla.XmlaServlet
-
- All Implemented Interfaces:
Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
,XmlaConstants
- Direct Known Subclasses:
DefaultXmlaServlet
public abstract class XmlaServlet extends javax.servlet.http.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.logging.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, SIE_REQUEST_STATE_CODE, SIE_REQUEST_STATE_FAULT_FS, 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(javax.servlet.ServletConfig servletConfig)
protected void
doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Main entry for HTTP post methodstatic boolean
getBooleanInitParameter(javax.servlet.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(javax.servlet.http.HttpServletRequest req, String paramName)
protected XmlaHandler
getXmlaHandler()
Gets (creating if needed) the XmlaHandler.protected abstract void
handleFault(javax.servlet.http.HttpServletResponse response, byte[][] responseSoapParts, XmlaServlet.Phase phase, Throwable t)
Implement to application specified handler of SOAP fualt.protected abstract void
handleSoapBody(javax.servlet.http.HttpServletResponse response, Element[] requestSoapParts, byte[][] responseSoapParts, Map<String,Object> context)
Implement to handle XML/A request.protected abstract void
handleSoapHeader(javax.servlet.http.HttpServletResponse response, Element[] requestSoapParts, byte[][] responseSoapParts, Map<String,Object> context)
Implement to handle application specified SOAP header.void
init(javax.servlet.ServletConfig servletConfig)
Initializes servlet and XML/A handler.protected void
initCallbacks(javax.servlet.ServletConfig servletConfig)
Registers callbacks configured in web.xml.protected void
initCharEncodingHandler(javax.servlet.ServletConfig servletConfig)
Initialize character encodingprotected abstract void
marshallSoapMessage(javax.servlet.http.HttpServletResponse response, byte[][] responseSoapParts, Enumeration.ResponseMimeType responseMimeType)
Implement to provide application specified SOAP marshalling algorithm.protected abstract void
unmarshallSoapMessage(javax.servlet.http.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
-
-
-
-
Field Detail
-
LOGGER
protected static final org.apache.logging.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(javax.servlet.ServletConfig servletConfig, String paramName)
Returns true if paramName's value is not null and 'true'.
-
getParameter
public static boolean getParameter(javax.servlet.http.HttpServletRequest req, String paramName)
-
init
public void init(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException
Initializes servlet and XML/A handler.- Specified by:
init
in interfacejavax.servlet.Servlet
- Overrides:
init
in classjavax.servlet.GenericServlet
- Throws:
javax.servlet.ServletException
-
createConnectionFactory
protected abstract XmlaHandler.ConnectionFactory createConnectionFactory(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException
- Throws:
javax.servlet.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(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException
Main entry for HTTP post method- Overrides:
doPost
in classjavax.servlet.http.HttpServlet
- Throws:
javax.servlet.ServletException
IOException
-
unmarshallSoapMessage
protected abstract void unmarshallSoapMessage(javax.servlet.http.HttpServletRequest request, Element[] requestSoapParts) throws XmlaException
Implement to provide application specified SOAP unmarshalling algorithm.- Throws:
XmlaException
-
handleSoapHeader
protected abstract void handleSoapHeader(javax.servlet.http.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(javax.servlet.http.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(javax.servlet.http.HttpServletResponse response, byte[][] responseSoapParts, Enumeration.ResponseMimeType responseMimeType) throws XmlaException
Implement to provide application specified SOAP marshalling algorithm.- Throws:
XmlaException
-
handleFault
protected abstract void handleFault(javax.servlet.http.HttpServletResponse response, byte[][] responseSoapParts, XmlaServlet.Phase phase, Throwable t)
Implement to application specified handler of SOAP fualt.
-
initCharEncodingHandler
protected void initCharEncodingHandler(javax.servlet.ServletConfig servletConfig)
Initialize character encoding
-
initCallbacks
protected void initCallbacks(javax.servlet.ServletConfig servletConfig)
Registers callbacks configured in web.xml.
-
-