Class MondrianOlap4jConnection
- java.lang.Object
-
- mondrian.olap4j.MondrianOlap4jConnection
-
- All Implemented Interfaces:
AutoCloseable,Connection,Wrapper,OlapConnection,OlapWrapper
- Direct Known Subclasses:
FactoryJdbc4Plus.AbstractConnection
public abstract class MondrianOlap4jConnection extends Object implements OlapConnection
Implementation ofOlapConnectionfor the Mondrian OLAP engine.This class has sub-classes which implement JDBC 3.0 and JDBC 4.0 APIs; it is instantiated using
Factory.newConnection(MondrianOlap4jDriver, String, java.util.Properties).This class is public, to allow access to the
setRoleNames(java.util.List)method before it is added to olap4j version 2.0. This may change without notice. Code should not rely on this class being public.- Since:
- May 23, 2007
- Author:
- jhyde
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classMondrianOlap4jConnection.HelperPackage-private helper class which encapsulates policies which are common throughout the driver.
-
Field Summary
Fields Modifier and Type Field Description (package private) MondrianOlap4jDriverdriver(package private) Factoryfactory(package private) MondrianOlap4jConnection.HelperhelperHandler for errors.(package private) MondrianServermondrianServer(package private) booleanpreferList(package private) Map<Schema,MondrianOlap4jSchema>schemaMapMap from mondrian schema objects to olap4j schemas.-
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
-
-
Constructor Summary
Constructors Constructor Description MondrianOlap4jConnection(Factory factory, MondrianOlap4jDriver driver, String url, Properties info)Creates an Olap4j connection to Mondrian.
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.sql.Connection
abort, beginRequest, createArrayOf, createBlob, createClob, createNClob, createSQLXML, createStruct, endRequest, getClientInfo, getClientInfo, getNetworkTimeout, isValid, setClientInfo, setClientInfo, setNetworkTimeout, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid
-
-
-
-
Field Detail
-
helper
final MondrianOlap4jConnection.Helper helper
Handler for errors.
-
schemaMap
final Map<Schema,MondrianOlap4jSchema> schemaMap
Map from mondrian schema objects to olap4j schemas.REVIEW: This assumes that a RolapSchema occurs at most once in a catalog. It is possible for a schema to be mapped more than once, with different names; the same RolapSchema object will be used.
-
factory
final Factory factory
-
driver
final MondrianOlap4jDriver driver
-
preferList
boolean preferList
-
mondrianServer
final MondrianServer mondrianServer
-
-
Constructor Detail
-
MondrianOlap4jConnection
MondrianOlap4jConnection(Factory factory, MondrianOlap4jDriver driver, String url, Properties info) throws SQLException
Creates an Olap4j connection to Mondrian.This method is intentionally package-protected. The public API uses the traditional JDBC
DriverManager. SeeMondrianOlap4jDriverfor more details.- Parameters:
factory- Factorydriver- Driverurl- Connect-string URLinfo- Additional properties- Throws:
SQLException- if there is an error
-
-
Method Detail
-
acceptsURL
static boolean acceptsURL(String url)
-
createStatement
public OlapStatement createStatement()
- Specified by:
createStatementin interfaceConnection- Specified by:
createStatementin interfaceOlapConnection
-
createScenario
public ScenarioImpl createScenario() throws OlapException
- Specified by:
createScenarioin interfaceOlapConnection- Throws:
OlapException
-
setScenario
public void setScenario(Scenario scenario) throws OlapException
- Specified by:
setScenarioin interfaceOlapConnection- Throws:
OlapException
-
getScenario
public Scenario getScenario() throws OlapException
- Specified by:
getScenarioin interfaceOlapConnection- Throws:
OlapException
-
prepareStatement
public PreparedStatement prepareStatement(String sql) throws SQLException
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql) throws SQLException
- Specified by:
prepareCallin interfaceConnection- Throws:
SQLException
-
nativeSQL
public String nativeSQL(String sql) throws SQLException
- Specified by:
nativeSQLin interfaceConnection- Throws:
SQLException
-
setAutoCommit
public void setAutoCommit(boolean autoCommit) throws SQLException- Specified by:
setAutoCommitin interfaceConnection- Throws:
SQLException
-
getAutoCommit
public boolean getAutoCommit() throws SQLException- Specified by:
getAutoCommitin interfaceConnection- Throws:
SQLException
-
commit
public void commit() throws SQLException- Specified by:
commitin interfaceConnection- Throws:
SQLException
-
rollback
public void rollback() throws SQLException- Specified by:
rollbackin interfaceConnection- Throws:
SQLException
-
close
public void close() throws SQLException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceConnection- Throws:
SQLException
-
isClosed
public boolean isClosed() throws SQLException- Specified by:
isClosedin interfaceConnection- Throws:
SQLException
-
getMetaData
public OlapDatabaseMetaData getMetaData()
- Specified by:
getMetaDatain interfaceConnection- Specified by:
getMetaDatain interfaceOlapConnection
-
setReadOnly
public void setReadOnly(boolean readOnly) throws SQLException- Specified by:
setReadOnlyin interfaceConnection- Throws:
SQLException
-
isReadOnly
public boolean isReadOnly() throws SQLException- Specified by:
isReadOnlyin interfaceConnection- Throws:
SQLException
-
setSchema
public void setSchema(String schemaName) throws OlapException
- Specified by:
setSchemain interfaceConnection- Specified by:
setSchemain interfaceOlapConnection- Throws:
OlapException
-
getSchema
public String getSchema() throws OlapException
- Specified by:
getSchemain interfaceConnection- Specified by:
getSchemain interfaceOlapConnection- Throws:
OlapException
-
getOlapSchema
public Schema getOlapSchema() throws OlapException
- Specified by:
getOlapSchemain interfaceOlapConnection- Throws:
OlapException
-
getOlapSchemas
public NamedList<Schema> getOlapSchemas() throws OlapException
- Specified by:
getOlapSchemasin interfaceOlapConnection- Throws:
OlapException
-
setCatalog
public void setCatalog(String catalogName) throws OlapException
- Specified by:
setCatalogin interfaceConnection- Specified by:
setCatalogin interfaceOlapConnection- Throws:
OlapException
-
getCatalog
public String getCatalog() throws OlapException
- Specified by:
getCatalogin interfaceConnection- Specified by:
getCatalogin interfaceOlapConnection- Throws:
OlapException
-
getOlapCatalog
public Catalog getOlapCatalog() throws OlapException
- Specified by:
getOlapCatalogin interfaceOlapConnection- Throws:
OlapException
-
getOlapCatalogs
public NamedList<Catalog> getOlapCatalogs() throws OlapException
- Specified by:
getOlapCatalogsin interfaceOlapConnection- Throws:
OlapException
-
setDatabase
public void setDatabase(String databaseName) throws OlapException
- Specified by:
setDatabasein interfaceOlapConnection- Throws:
OlapException
-
getDatabase
public String getDatabase() throws OlapException
- Specified by:
getDatabasein interfaceOlapConnection- Throws:
OlapException
-
getOlapDatabase
public Database getOlapDatabase() throws OlapException
- Specified by:
getOlapDatabasein interfaceOlapConnection- Throws:
OlapException
-
getOlapDatabases
public NamedList<Database> getOlapDatabases() throws OlapException
- Specified by:
getOlapDatabasesin interfaceOlapConnection- Throws:
OlapException
-
setTransactionIsolation
public void setTransactionIsolation(int level) throws SQLException- Specified by:
setTransactionIsolationin interfaceConnection- Throws:
SQLException
-
getTransactionIsolation
public int getTransactionIsolation() throws SQLException- Specified by:
getTransactionIsolationin interfaceConnection- Throws:
SQLException
-
getWarnings
public SQLWarning getWarnings() throws SQLException
- Specified by:
getWarningsin interfaceConnection- Throws:
SQLException
-
clearWarnings
public void clearWarnings() throws SQLException- Specified by:
clearWarningsin interfaceConnection- Throws:
SQLException
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
- Specified by:
createStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
- Specified by:
prepareCallin interfaceConnection- Throws:
SQLException
-
getTypeMap
public Map<String,Class<?>> getTypeMap() throws SQLException
- Specified by:
getTypeMapin interfaceConnection- Throws:
SQLException
-
setTypeMap
public void setTypeMap(Map<String,Class<?>> map) throws SQLException
- Specified by:
setTypeMapin interfaceConnection- Throws:
SQLException
-
setHoldability
public void setHoldability(int holdability) throws SQLException- Specified by:
setHoldabilityin interfaceConnection- Throws:
SQLException
-
getHoldability
public int getHoldability() throws SQLException- Specified by:
getHoldabilityin interfaceConnection- Throws:
SQLException
-
setSavepoint
public Savepoint setSavepoint() throws SQLException
- Specified by:
setSavepointin interfaceConnection- Throws:
SQLException
-
setSavepoint
public Savepoint setSavepoint(String name) throws SQLException
- Specified by:
setSavepointin interfaceConnection- Throws:
SQLException
-
rollback
public void rollback(Savepoint savepoint) throws SQLException
- Specified by:
rollbackin interfaceConnection- Throws:
SQLException
-
releaseSavepoint
public void releaseSavepoint(Savepoint savepoint) throws SQLException
- Specified by:
releaseSavepointin interfaceConnection- Throws:
SQLException
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
- Specified by:
createStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
- Specified by:
prepareCallin interfaceConnection- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
- Specified by:
unwrapin interfaceOlapWrapper- Specified by:
unwrapin interfaceWrapper- Throws:
SQLException
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
- Specified by:
isWrapperForin interfaceOlapWrapper- Specified by:
isWrapperForin interfaceWrapper- Throws:
SQLException
-
prepareOlapStatement
public PreparedOlapStatement prepareOlapStatement(String mdx) throws OlapException
- Specified by:
prepareOlapStatementin interfaceOlapConnection- Throws:
OlapException
-
getParserFactory
public MdxParserFactory getParserFactory()
- Specified by:
getParserFactoryin interfaceOlapConnection
-
toOlap4j
MondrianOlap4jCube toOlap4j(Cube cube)
-
toOlap4j
MondrianOlap4jDimension toOlap4j(Dimension dimension)
-
toOlap4j
MondrianOlap4jSchema toOlap4j(Schema schema)
-
toOlap4j
MondrianOlap4jMember toOlap4j(Member member)
-
toOlap4j
MondrianOlap4jLevel toOlap4j(Level level)
-
toOlap4j
MondrianOlap4jHierarchy toOlap4j(Hierarchy hierarchy)
-
toOlap4j
NamedList<MondrianOlap4jMember> toOlap4j(List<Member> memberList)
-
toOlap4j
MondrianOlap4jNamedSet toOlap4j(Cube cube, NamedSet namedSet)
-
toOlap4j
ParseTreeNode toOlap4j(Exp exp)
-
toOlap4j
SelectNode toOlap4j(Query query)
-
setLocale
public void setLocale(Locale locale)
- Specified by:
setLocalein interfaceOlapConnection
-
getLocale
public Locale getLocale()
- Specified by:
getLocalein interfaceOlapConnection
-
setRoleName
public void setRoleName(String roleName) throws OlapException
- Specified by:
setRoleNamein interfaceOlapConnection- Throws:
OlapException
-
setRoleNames
public void setRoleNames(List<String> roleNames) throws OlapException
Set the active role(s) in this connection based on a list of role names.
The list may be not be empty. Each role name must be not-null and the name of a valid role for the current user.
This method is not part of the olap4j-1.x API. It may be included in olap4j-2.0. If you want to call this method on a
OlapConnection, useunwrap(java.lang.Class<T>)to get the underlying Mondrian connection.- Parameters:
roleNames- List of role names- Throws:
OlapException- See Also:
getRoleNames()
-
getRoleName
public String getRoleName()
- Specified by:
getRoleNamein interfaceOlapConnection
-
getRoleNames
public List<String> getRoleNames()
Returns a list of the current role names.This method is not part of the olap4j-1.x API. It may be included in olap4j-2.0. If you want to call this method on a
OlapConnection, useunwrap(java.lang.Class<T>)to get the underlying Mondrian connection.- Returns:
- List of the current role names
-
getAvailableRoleNames
public List<String> getAvailableRoleNames() throws OlapException
- Specified by:
getAvailableRoleNamesin interfaceOlapConnection- Throws:
OlapException
-
setPreferList
public void setPreferList(boolean preferList)
-
getMondrianConnection2
RolapConnection getMondrianConnection2() throws RuntimeException
Cop-out version ofgetMondrianConnection()that doesn't throw a checked exception. For those situations where the olap4j API doesn't declare 'throws OlapException', but we need an open connection anyway. UsegetMondrianConnection()where possible.- Returns:
- Mondrian connection
- Throws:
RuntimeException- if connection is closed
-
getMondrianConnection
RolapConnection getMondrianConnection() throws OlapException
- Throws:
OlapException
-
-