Class PentahoXmlaServlet

java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
mondrian.xmla.XmlaServlet
mondrian.xmla.impl.DefaultXmlaServlet
mondrian.xmla.impl.MondrianXmlaServlet
mondrian.xmla.impl.DynamicDatasourceXmlaServlet
org.pentaho.platform.web.servlet.PentahoXmlaServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig, mondrian.xmla.XmlaConstants

public class PentahoXmlaServlet extends mondrian.xmla.impl.DynamicDatasourceXmlaServlet
Filters out DataSource elements that are not XMLA-related.

Background: Pentaho re-used datasources.xml for non-XMLA purposes. But since DefaultXmlaServlet requires actual XMLA datasources, this servlet extends DefaultXmlaServlet and removes the non-XMLA datasources before continuing normal DefaultXmlaServlet behavior.

The convention here is that any DataSource elements with <ProviderType>None</ProviderType> are considered non-XMLA and are filtered out.

Author:
mlowery
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class mondrian.xmla.XmlaServlet

    mondrian.xmla.XmlaServlet.Phase
  • Field Summary

    Fields inherited from class mondrian.xmla.impl.MondrianXmlaServlet

    DEFAULT_DATASOURCE_FILE, 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, 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
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    checkIfXMLAEnabled(org.olap4j.OlapConnection connection)
     
    protected mondrian.xmla.XmlaHandler.ConnectionFactory
    createConnectionFactory(javax.servlet.ServletConfig servletConfig)
     
    void
    init(javax.servlet.ServletConfig servletConfig)
     
    protected mondrian.spi.CatalogLocator
    makeCatalogLocator(javax.servlet.ServletConfig servletConfig)
     
    protected mondrian.server.RepositoryContentFinder
    makeContentFinder(String dataSourcesUrl)
     
    protected String
    makeDataSourcesUrl(javax.servlet.ServletConfig config)
     

    Methods inherited from class mondrian.xmla.impl.DynamicDatasourceXmlaServlet

    destroy

    Methods inherited from class mondrian.xmla.impl.DefaultXmlaServlet

    generateSessionId, getDocumentBuilderFactory, handleFault, handleSoapBody, handleSoapHeader, 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
  • Constructor Details

    • PentahoXmlaServlet

      public PentahoXmlaServlet()
  • Method Details

    • makeContentFinder

      protected mondrian.server.RepositoryContentFinder makeContentFinder(String dataSourcesUrl)
      Overrides:
      makeContentFinder in class mondrian.xmla.impl.DynamicDatasourceXmlaServlet
    • makeCatalogLocator

      protected mondrian.spi.CatalogLocator makeCatalogLocator(javax.servlet.ServletConfig servletConfig)
      Overrides:
      makeCatalogLocator in class mondrian.xmla.impl.MondrianXmlaServlet
    • makeDataSourcesUrl

      protected String makeDataSourcesUrl(javax.servlet.ServletConfig config)
      Overrides:
      makeDataSourcesUrl in class mondrian.xmla.impl.MondrianXmlaServlet
    • createConnectionFactory

      protected mondrian.xmla.XmlaHandler.ConnectionFactory createConnectionFactory(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException
      Overrides:
      createConnectionFactory in class mondrian.xmla.impl.MondrianXmlaServlet
      Throws:
      javax.servlet.ServletException
    • init

      public void init(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException
      Specified by:
      init in interface javax.servlet.Servlet
      Overrides:
      init in class mondrian.xmla.impl.DefaultXmlaServlet
      Throws:
      javax.servlet.ServletException
    • checkIfXMLAEnabled

      protected void checkIfXMLAEnabled(org.olap4j.OlapConnection connection)