Class FileRepository

java.lang.Object
mondrian.server.FileRepository
All Implemented Interfaces:
Repository

public class FileRepository extends Object implements Repository
Implementation of Repository that reads from a datasources.xml file.

Note that for legacy reasons, the datasources.xml file's root element is called DataSource whereas the olap4j standard calls them Databases. This is why those two concepts are linked, as in getDatabaseNames(RolapConnection) for example.

Author:
Julian Hyde, Luc Boudreau
  • Constructor Details

  • Method Details

    • clearServerInfo

      protected void clearServerInfo()
    • getDatabases

      public List<Map<String,Object>> getDatabases(RolapConnection connection)
      Description copied from interface: Repository
      Returns a list of databases properties collections, one per database configured on this server.
      Specified by:
      getDatabases in interface Repository
      Parameters:
      connection - The connection from which to obtain the metadata. May be null or the Repository implementation itself might ignore it.
      Returns:
      A list of databases properties collections
    • getConnection

      public org.olap4j.OlapConnection getConnection(MondrianServer server, String databaseName, String catalogName, String roleName, Properties props) throws SQLException
      Description copied from interface: Repository
      Returns an OlapConnection object.
      Specified by:
      getConnection in interface Repository
      Parameters:
      server - The MondrianServer to use.
      databaseName - The database name. Can be null.
      catalogName - The catalog name. Can be null.
      roleName - The role name. Can be null.
      props - Additional connection properties.
      Returns:
      An opened olap connection.
      Throws:
      SQLException - If an error is encountered while creating the connection.
    • shutdown

      public void shutdown()
      Description copied from interface: Repository
      Shuts down and terminates a repository.
      Specified by:
      shutdown in interface Repository
    • getCatalogNames

      public List<String> getCatalogNames(RolapConnection connection, String databaseName)
      Description copied from interface: Repository
      Returns a list of catalog names found in the repository.
      Specified by:
      getCatalogNames in interface Repository
      Parameters:
      connection - A connection object from which to obtain the metadata. May be null or the Repository implementation itself might ignore it.
      databaseName - The parent database name of which we want to list the catalogs.
      Returns:
      A list of catalog names found in this repository.
    • getDatabaseNames

      public List<String> getDatabaseNames(RolapConnection connection)
      Description copied from interface: Repository
      Returns a list of database names found in this repository.
      Specified by:
      getDatabaseNames in interface Repository
      Parameters:
      connection - A connection object from which to obtain the metadata. May be null or the Repository implementation itself might ignore it.
      Returns:
      A list of database names found in this repository.
    • getRolapSchemas

      public Map<String,RolapSchema> getRolapSchemas(RolapConnection connection, String databaseName, String catalogName)
      Description copied from interface: Repository
      Must return a map of schema names and schema objects who are children of the specified datasource and catalog.
      Specified by:
      getRolapSchemas in interface Repository
      Parameters:
      connection - The connection from which to obtain the metadata. May be null or the Repository implementation itself might ignore it.
      databaseName - The database name predicate for the list of returned schemas.
      catalogName - The catalog name predicate for the list of returned schemas.
      Returns:
      A map of schema names associated to schema objects, as found in the repository..
    • finalize

      protected void finalize()
      Overrides:
      finalize in class Object