mondrian.xmla.impl
Class MondrianXmlaServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by mondrian.xmla.XmlaServlet
              extended by mondrian.xmla.impl.DefaultXmlaServlet
                  extended by mondrian.xmla.impl.MondrianXmlaServlet
All Implemented Interfaces:
Serializable, Servlet, ServletConfig, XmlaConstants
Direct Known Subclasses:
DynamicDatasourceXmlaServlet

public class MondrianXmlaServlet
extends DefaultXmlaServlet

Extension to XmlaServlet that instantiates a Mondrian engine.

Author:
jhyde
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class mondrian.xmla.XmlaServlet
XmlaServlet.Phase
 
Field Summary
static String DEFAULT_DATASOURCE_FILE
           
protected  MondrianServer server
           
 
Fields inherited from class mondrian.xmla.impl.DefaultXmlaServlet
nl
 
Fields inherited from class mondrian.xmla.XmlaServlet
charEncoding, LOGGER, PARAM_CALLBACKS, PARAM_CHAR_ENCODING, PARAM_DATASOURCES_CONFIG, PARAM_OPTIONAL_DATASOURCE_CONFIG, 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
MondrianXmlaServlet()
           
 
Method Summary
protected  XmlaHandler.ConnectionFactory createConnectionFactory(ServletConfig servletConfig)
           
 void destroy()
           
protected  CatalogLocator makeCatalogLocator(ServletConfig servletConfig)
          Make catalog locator.
protected  RepositoryContentFinder makeContentFinder(String dataSources)
          Creates a callback for reading the repository.
protected  String makeDataSourcesUrl(ServletConfig servletConfig)
          Creates the URL where the data sources file is to be found.
 
Methods inherited from class mondrian.xmla.impl.DefaultXmlaServlet
generateSessionId, getDocumentBuilderFactory, handleFault, handleSoapBody, handleSoapHeader, init, logXmlaRequest, marshallSoapMessage, unmarshallSoapMessage
 
Methods inherited from class mondrian.xmla.XmlaServlet
addCallback, doPost, getBooleanInitParameter, getCallbacks, getParameter, getXmlaHandler, initCallbacks, initCharEncodingHandler
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_DATASOURCE_FILE

public static final String DEFAULT_DATASOURCE_FILE
See Also:
Constant Field Values

server

protected MondrianServer server
Constructor Detail

MondrianXmlaServlet

public MondrianXmlaServlet()
Method Detail

createConnectionFactory

protected XmlaHandler.ConnectionFactory createConnectionFactory(ServletConfig servletConfig)
                                                         throws ServletException
Specified by:
createConnectionFactory in class XmlaServlet
Throws:
ServletException

destroy

public void destroy()
Specified by:
destroy in interface Servlet
Overrides:
destroy in class GenericServlet

makeContentFinder

protected RepositoryContentFinder makeContentFinder(String dataSources)
Creates a callback for reading the repository. Derived classes may override.

Parameters:
dataSources - Data sources
Returns:
Callback for reading repository

makeCatalogLocator

protected CatalogLocator makeCatalogLocator(ServletConfig servletConfig)
Make catalog locator. Derived classes can roll their own.

Parameters:
servletConfig - Servlet configuration info
Returns:
Catalog locator

makeDataSourcesUrl

protected String makeDataSourcesUrl(ServletConfig servletConfig)
Creates the URL where the data sources file is to be found.

Derived classes can roll their own.

If there is an initParameter called "DataSourcesConfig" get its value, replace any "${key}" content with "value" where "key/value" are System properties, and try to create a URL instance out of it. If that fails, then assume its a real filepath and if the file exists then create a URL from it (but only if the file exists). If there is no initParameter with that name, then attempt to find the file called "datasources.xml" under "WEB-INF/" and if it exists, use it.

Parameters:
servletConfig - Servlet config
Returns:
URL where data sources are to be found

Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads