Interface Repository

  • All Known Implementing Classes:
    FileRepository, ImplicitRepository

    public interface Repository
    Callback by which a MondrianServer finds its databases, catalogs and schemas.

    An important implementation is ImplicitRepository. This encapsulates the behavior of embedded mondrian: there is no repository, and each connection specifies schema and catalog on the connect string. This is the reason that several methods contain a connection parameter. Other implementations of this interface will probably ignore the connection.

    Author:
    Julian Hyde
    • Method Detail

      • getDatabaseNames

        List<String> getDatabaseNames​(RolapConnection connection)
        Returns a list of database names found in this 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.
      • getCatalogNames

        List<String> getCatalogNames​(RolapConnection connection,
                                     String databaseName)
        Returns a list of catalog names found in the 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.
      • getRolapSchemas

        Map<String,​RolapSchema> getRolapSchemas​(RolapConnection connection,
                                                      String databaseName,
                                                      String catalogName)
        Must return a map of schema names and schema objects who are children of the specified datasource and catalog.
        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..
      • getDatabases

        List<Map<String,​Object>> getDatabases​(RolapConnection connection)
        Returns a list of databases properties collections, one per database configured on this server.
        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

        org.olap4j.OlapConnection getConnection​(MondrianServer server,
                                                String databaseName,
                                                String catalogName,
                                                String roleName,
                                                Properties props)
                                         throws SQLException
        Returns an OlapConnection object.
        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

        void shutdown()
        Shuts down and terminates a repository.