public abstract class MondrianOlap4jConnection extends Object implements OlapConnection
OlapConnection
for 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.
Modifier and Type | Class and Description |
---|---|
(package private) static class |
MondrianOlap4jConnection.Helper
Package-private helper class which encapsulates policies which are
common throughout the driver.
|
Modifier and Type | Field and Description |
---|---|
(package private) MondrianOlap4jDriver |
driver |
(package private) Factory |
factory |
(package private) MondrianOlap4jConnection.Helper |
helper
Handler for errors.
|
(package private) MondrianServer |
mondrianServer |
(package private) boolean |
preferList |
(package private) Map<Schema,MondrianOlap4jSchema> |
schemaMap
Map from mondrian schema objects to olap4j schemas.
|
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
Constructor and Description |
---|
MondrianOlap4jConnection(Factory factory,
MondrianOlap4jDriver driver,
String url,
Properties info)
Creates an Olap4j connection to Mondrian.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
abort, createArrayOf, createBlob, createClob, createNClob, createSQLXML, createStruct, getClientInfo, getClientInfo, getNetworkTimeout, isValid, setClientInfo, setClientInfo, setNetworkTimeout
final MondrianOlap4jConnection.Helper helper
final Map<Schema,MondrianOlap4jSchema> schemaMap
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.
final Factory factory
final MondrianOlap4jDriver driver
boolean preferList
final MondrianServer mondrianServer
MondrianOlap4jConnection(Factory factory, MondrianOlap4jDriver driver, String url, Properties info) throws SQLException
This method is intentionally package-protected. The public API
uses the traditional JDBC DriverManager
.
See MondrianOlap4jDriver
for more details.
factory
- Factorydriver
- Driverurl
- Connect-string URLinfo
- Additional propertiesSQLException
- if there is an errorstatic boolean acceptsURL(String url)
public OlapStatement createStatement()
createStatement
in interface Connection
createStatement
in interface OlapConnection
public ScenarioImpl createScenario() throws OlapException
createScenario
in interface OlapConnection
OlapException
public void setScenario(Scenario scenario) throws OlapException
setScenario
in interface OlapConnection
OlapException
public Scenario getScenario() throws OlapException
getScenario
in interface OlapConnection
OlapException
public PreparedStatement prepareStatement(String sql) throws SQLException
prepareStatement
in interface Connection
SQLException
public CallableStatement prepareCall(String sql) throws SQLException
prepareCall
in interface Connection
SQLException
public String nativeSQL(String sql) throws SQLException
nativeSQL
in interface Connection
SQLException
public void setAutoCommit(boolean autoCommit) throws SQLException
setAutoCommit
in interface Connection
SQLException
public boolean getAutoCommit() throws SQLException
getAutoCommit
in interface Connection
SQLException
public void commit() throws SQLException
commit
in interface Connection
SQLException
public void rollback() throws SQLException
rollback
in interface Connection
SQLException
public void close() throws SQLException
close
in interface AutoCloseable
close
in interface Connection
SQLException
public boolean isClosed() throws SQLException
isClosed
in interface Connection
SQLException
public OlapDatabaseMetaData getMetaData()
getMetaData
in interface Connection
getMetaData
in interface OlapConnection
public void setReadOnly(boolean readOnly) throws SQLException
setReadOnly
in interface Connection
SQLException
public boolean isReadOnly() throws SQLException
isReadOnly
in interface Connection
SQLException
public void setSchema(String schemaName) throws OlapException
setSchema
in interface Connection
setSchema
in interface OlapConnection
OlapException
public String getSchema() throws OlapException
getSchema
in interface Connection
getSchema
in interface OlapConnection
OlapException
public Schema getOlapSchema() throws OlapException
getOlapSchema
in interface OlapConnection
OlapException
public NamedList<Schema> getOlapSchemas() throws OlapException
getOlapSchemas
in interface OlapConnection
OlapException
public void setCatalog(String catalogName) throws OlapException
setCatalog
in interface Connection
setCatalog
in interface OlapConnection
OlapException
public String getCatalog() throws OlapException
getCatalog
in interface Connection
getCatalog
in interface OlapConnection
OlapException
public Catalog getOlapCatalog() throws OlapException
getOlapCatalog
in interface OlapConnection
OlapException
public NamedList<Catalog> getOlapCatalogs() throws OlapException
getOlapCatalogs
in interface OlapConnection
OlapException
public void setDatabase(String databaseName) throws OlapException
setDatabase
in interface OlapConnection
OlapException
public String getDatabase() throws OlapException
getDatabase
in interface OlapConnection
OlapException
public Database getOlapDatabase() throws OlapException
getOlapDatabase
in interface OlapConnection
OlapException
public NamedList<Database> getOlapDatabases() throws OlapException
getOlapDatabases
in interface OlapConnection
OlapException
public void setTransactionIsolation(int level) throws SQLException
setTransactionIsolation
in interface Connection
SQLException
public int getTransactionIsolation() throws SQLException
getTransactionIsolation
in interface Connection
SQLException
public SQLWarning getWarnings() throws SQLException
getWarnings
in interface Connection
SQLException
public void clearWarnings() throws SQLException
clearWarnings
in interface Connection
SQLException
public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
createStatement
in interface Connection
SQLException
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
prepareStatement
in interface Connection
SQLException
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
prepareCall
in interface Connection
SQLException
public Map<String,Class<?>> getTypeMap() throws SQLException
getTypeMap
in interface Connection
SQLException
public void setTypeMap(Map<String,Class<?>> map) throws SQLException
setTypeMap
in interface Connection
SQLException
public void setHoldability(int holdability) throws SQLException
setHoldability
in interface Connection
SQLException
public int getHoldability() throws SQLException
getHoldability
in interface Connection
SQLException
public Savepoint setSavepoint() throws SQLException
setSavepoint
in interface Connection
SQLException
public Savepoint setSavepoint(String name) throws SQLException
setSavepoint
in interface Connection
SQLException
public void rollback(Savepoint savepoint) throws SQLException
rollback
in interface Connection
SQLException
public void releaseSavepoint(Savepoint savepoint) throws SQLException
releaseSavepoint
in interface Connection
SQLException
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
createStatement
in interface Connection
SQLException
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
prepareStatement
in interface Connection
SQLException
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
prepareCall
in interface Connection
SQLException
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException
prepareStatement
in interface Connection
SQLException
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
prepareStatement
in interface Connection
SQLException
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
prepareStatement
in interface Connection
SQLException
public <T> T unwrap(Class<T> iface) throws SQLException
unwrap
in interface Wrapper
unwrap
in interface OlapWrapper
SQLException
public boolean isWrapperFor(Class<?> iface) throws SQLException
isWrapperFor
in interface Wrapper
isWrapperFor
in interface OlapWrapper
SQLException
public PreparedOlapStatement prepareOlapStatement(String mdx) throws OlapException
prepareOlapStatement
in interface OlapConnection
OlapException
public MdxParserFactory getParserFactory()
getParserFactory
in interface OlapConnection
MondrianOlap4jCube toOlap4j(Cube cube)
MondrianOlap4jDimension toOlap4j(Dimension dimension)
MondrianOlap4jSchema toOlap4j(Schema schema)
MondrianOlap4jMember toOlap4j(Member member)
MondrianOlap4jLevel toOlap4j(Level level)
MondrianOlap4jHierarchy toOlap4j(Hierarchy hierarchy)
NamedList<MondrianOlap4jMember> toOlap4j(List<Member> memberList)
MondrianOlap4jNamedSet toOlap4j(Cube cube, NamedSet namedSet)
ParseTreeNode toOlap4j(Exp exp)
SelectNode toOlap4j(Query query)
public void setLocale(Locale locale)
setLocale
in interface OlapConnection
public Locale getLocale()
getLocale
in interface OlapConnection
public void setRoleName(String roleName) throws OlapException
setRoleName
in interface OlapConnection
OlapException
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
, use unwrap(java.lang.Class<T>)
to get the underlying
Mondrian connection.
roleNames
- List of role namesOlapException
getRoleNames()
public String getRoleName()
getRoleName
in interface OlapConnection
public List<String> getRoleNames()
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
, use unwrap(java.lang.Class<T>)
to get the underlying
Mondrian connection.
public List<String> getAvailableRoleNames() throws OlapException
getAvailableRoleNames
in interface OlapConnection
OlapException
public void setPreferList(boolean preferList)
RolapConnection getMondrianConnection2() throws RuntimeException
getMondrianConnection()
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.
Use getMondrianConnection()
where possible.RuntimeException
- if connection is closedRolapConnection getMondrianConnection() throws OlapException
OlapException