Package mondrian.server
Interface Repository
-
- All Known Implementing Classes:
FileRepository
,ImplicitRepository
public interface Repository
Callback by which aMondrianServer
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 aconnection
parameter. Other implementations of this interface will probably ignore the connection.- Author:
- Julian Hyde
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<String>
getCatalogNames(RolapConnection connection, String databaseName)
Returns a list of catalog names found in the repository.org.olap4j.OlapConnection
getConnection(MondrianServer server, String databaseName, String catalogName, String roleName, Properties props)
Returns an OlapConnection object.List<String>
getDatabaseNames(RolapConnection connection)
Returns a list of database names found in this repository.List<Map<String,Object>>
getDatabases(RolapConnection connection)
Returns a list of databases properties collections, one per database configured on this server.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.void
shutdown()
Shuts down and terminates a repository.
-
-
-
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.
-
-