org.pentaho.platform.plugin.action.mondrian.catalog
Interface IMondrianCatalogService

All Known Implementing Classes:
MondrianCatalogHelper

public interface IMondrianCatalogService

A service registering/enumerating registered Mondrian catalogs (schemas).

Author:
mlowery

Method Summary
 void addCatalog(MondrianCatalog catalog, boolean overwrite, IPentahoSession pentahoSession)
          Adds to the global catalog list and possibly persists this information.
 MondrianCatalog getCatalog(String context, IPentahoSession pentahoSession)
          Returns the catalog with the given context - name or definition allowable.
 List<MondrianCatalog> listCatalogs(IPentahoSession pentahoSession, boolean jndiOnly)
          Lists all catalogs (filtered according to access control rules).
 MondrianSchema loadMondrianSchema(String solutionLocation, IPentahoSession pentahoSession)
          this method loads a Mondrian schema
 

Method Detail

listCatalogs

List<MondrianCatalog> listCatalogs(IPentahoSession pentahoSession,
                                   boolean jndiOnly)
Lists all catalogs (filtered according to access control rules).

Parameters:
jndiOnly - return only JNDI-based catalogs

addCatalog

void addCatalog(MondrianCatalog catalog,
                boolean overwrite,
                IPentahoSession pentahoSession)
                throws MondrianCatalogServiceException
Adds to the global catalog list and possibly persists this information.

Parameters:
overwrite - true to overwrite existing catalog (based on match with definition and effectiveDataSourceInfo
Throws:
MondrianCatalogServiceException

getCatalog

MondrianCatalog getCatalog(String context,
                           IPentahoSession pentahoSession)
Returns the catalog with the given context - name or definition allowable. Returns null if context not recognized.

Parameters:
context - Either the name of the catalog to fetch, or the catalog's definition string NOTE that the context can be the catalog name or the definition string for the catalog. If you are using the definition string to retrieve the catalog from the cache, you cannot be guaranteed what datasource is in play; so under these circumstances, this catalog's definition is the only part of the catalog that can be trusted. As this feature was added to enable looking up Mondrian roles from the schema, we don't much care which datasource is in play.

loadMondrianSchema

MondrianSchema loadMondrianSchema(String solutionLocation,
                                  IPentahoSession pentahoSession)
this method loads a Mondrian schema

Parameters:
solutionLocation - location of the schema
pentahoSession - current session object
Returns:
Mondrian Schema object