class MondrianServerImpl extends MondrianServer implements CatalogFinder, XmlaHandler.ConnectionFactory
MondrianServer.MondrianServer.MondrianVersion| Constructor and Description | 
|---|
MondrianServerImpl(MondrianServerRegistry registry,
                  Repository repository,
                  CatalogLocator catalogLocator)
Creates a MondrianServerImpl. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addConnection(RolapConnection connection)
Called just after a connection has been created. 
 | 
void | 
addStatement(Statement statement)
Called just after a statement has been created. 
 | 
protected void | 
finalize()  | 
AggregationManager | 
getAggregationManager()  | 
CatalogLocator | 
getCatalogLocator()  | 
List<String> | 
getCatalogNames(RolapConnection connection)
Returns a list of catalogs. 
 | 
RolapConnection | 
getConnection(int connectionId)
Retrieves a connection. 
 | 
OlapConnection | 
getConnection(String databaseName,
             String catalogName,
             String roleName)
Gets a Connection given a catalog (and implicitly the catalog's data
 source) and the name of a user role. 
 | 
OlapConnection | 
getConnection(String databaseName,
             String catalogName,
             String roleName,
             Properties props)
Extended version of
  
MondrianServer.getConnection(String, String, String)
 taking a list of properties to pass down to the native connection. | 
List<Map<String,Object>> | 
getDatabases(RolapConnection connection)
Returns a list of the databases in this server. 
 | 
int | 
getId()
Returns an integer uniquely identifying this server within its JVM. 
 | 
List<String> | 
getKeywords()
Returns a list of MDX keywords. 
 | 
LockBox | 
getLockBox()
Returns the lock box that can be used to pass objects via their string
 key. 
 | 
Monitor | 
getMonitor()  | 
Map<String,Object> | 
getPreConfiguredDiscoverDatasourcesResponse()
Returns a map of property name-value pairs with which to populate
 the response to the DISCOVER_DATASOURCES request. 
 | 
RolapResultShepherd | 
getResultShepherd()  | 
Map<String,RolapSchema> | 
getRolapSchemas(RolapConnection connection,
               String catalogName)
Returns a list of (schema name, schema) pairs in a catalog of a
 particular name. 
 | 
void | 
removeConnection(RolapConnection connection)
Called when a connection is closed. 
 | 
void | 
removeStatement(Statement statement)
Called when a statement is closed. 
 | 
void | 
shutdown()
Called when the server must terminate all background tasks
 and cleanup all potential memory leaks. 
 | 
createWithRepository, dispose, forConnection, forId, getVersionMondrianServerImpl(MondrianServerRegistry registry, Repository repository, CatalogLocator catalogLocator)
registry - Registry of all servers in this JVMrepository - Repository of catalogs and schemascatalogLocator - Catalog locatorprotected void finalize()
                 throws Throwable
public int getId()
MondrianServergetId in class MondrianServerpublic RolapResultShepherd getResultShepherd()
getResultShepherd in class MondrianServerpublic List<String> getKeywords()
MondrianServergetKeywords in class MondrianServerpublic LockBox getLockBox()
MondrianServergetLockBox in class MondrianServerpublic AggregationManager getAggregationManager()
getAggregationManager in class MondrianServerpublic OlapConnection getConnection(String databaseName, String catalogName, String roleName) throws SQLException
MondrianServerIf you want to pass in a role object, and you are making the call
 within the same JVM (i.e. not RPC), register the role using
 MondrianServer.getLockBox() and pass in the moniker
 for the generated lock box entry. The server will retrieve the role from
 the moniker.
getConnection in class MondrianServerdatabaseName - Catalog namecatalogName - Schema nameroleName - User role nameSQLException - If error occurspublic OlapConnection getConnection(String databaseName, String catalogName, String roleName, Properties props) throws SQLException
MondrianServerMondrianServer.getConnection(String, String, String)
 taking a list of properties to pass down to the native connection.
 Gets a Connection given a catalog (and implicitly the catalog's data source) and the name of a user role.
If you want to pass in a role object, and you are making the call
 within the same JVM (i.e. not RPC), register the role using
 MondrianServer.getLockBox() and pass in the moniker
 for the generated lock box entry. The server will retrieve the role from
 the moniker.
getConnection in interface XmlaHandler.ConnectionFactorygetConnection in class MondrianServerdatabaseName - Catalog namecatalogName - Schema nameroleName - User role nameprops - Properties to pass down to the native driver.SQLException - If error occurspublic List<String> getCatalogNames(RolapConnection connection)
CatalogFinderThe catalog names occur in the natural order of the repository.
getCatalogNames in interface CatalogFinderconnection - Connection to mondrian
 we want the catalog children.public List<Map<String,Object>> getDatabases(RolapConnection connection)
MondrianServergetDatabases in class MondrianServerconnection - Connectionpublic CatalogLocator getCatalogLocator()
getCatalogLocator in class MondrianServerpublic void shutdown()
MondrianServershutdown in class MondrianServerpublic void addConnection(RolapConnection connection)
MondrianServeraddConnection in class MondrianServerconnection - Connectionpublic void removeConnection(RolapConnection connection)
MondrianServerremoveConnection in class MondrianServerconnection - Connectionpublic RolapConnection getConnection(int connectionId)
MondrianServergetConnection in class MondrianServerconnectionId - Connection id, per
   RolapConnection.getId()public void addStatement(Statement statement)
MondrianServeraddStatement in class MondrianServerstatement - Statementpublic void removeStatement(Statement statement)
MondrianServerremoveStatement in class MondrianServerstatement - Statementpublic Monitor getMonitor()
getMonitor in class MondrianServerpublic Map<String,RolapSchema> getRolapSchemas(RolapConnection connection, String catalogName)
CatalogFinderThe name of the schema may not be the same as the value returned by
 RolapSchema.getName(). In fact, a given schema
 may occur multiple times in the same catalog with different names.
 
The schemas occur in the natural order of the repository.
getRolapSchemas in interface CatalogFinderconnection - Connection to mondriancatalogName - Name of catalogpublic Map<String,Object> getPreConfiguredDiscoverDatasourcesResponse()
XmlaHandler.ConnectionFactoryProperties correspond to the columns of that request: ""DataSourceName", et cetera.
Returns null if there is no pre-configured response; in which case, the driver will have to connect to get a response.
getPreConfiguredDiscoverDatasourcesResponse in interface XmlaHandler.ConnectionFactory