Package mondrian.rolap
Class RolapSchema
java.lang.Object
mondrian.rolap.RolapSchema
A
RolapSchema is a collection of RolapCubes and shared RolapDimensions. It is shared
betweeen RolapConnections. It caches MemberReaders, etc.- Since:
- 26 July, 2001
- Author:
- jhyde
- See Also:
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionRolapSchema(SchemaKey key, ByteString md5Bytes, String catalogUrl, String catalogStr, Util.PropertyList connectInfo, DataSource dataSource) Create RolapSchema given the MD5 hash, catalog name and string (content) and the connectInfo object. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAdds a cube to the cube name map.static booleancacheContains(RolapSchema rolapSchema) static StringcalcMemberFqName(MondrianDef.CalculatedMember xmlCalcMember) createCube(String xml) Creates a cube by parsing an XML string.createDimension(Cube cube, String xml) Creates a dimension in the given cube by parsing an XML string.booleanprotected voidPerforms a sweep of the JDBC tables caches and the segment data.protected voidfinalize()protected voidClears the cache of JDBC tables for the aggs.protected voidReturns a list of annotations.Returns the checksum of this schema.Cube[]getCubes()Returns a list of all cubes in this schema.getCubesWithStar(RolapStar star) Returns this schema's SQL dialect.Returns this schema's function table.getId()Returns this schema instance unique ID.Connection for purposes of parsing and validation.getKey()Returns this schema instance unique key.protected org.apache.logging.log4j.LoggergetName()Returns the name of this schema.getNamedSet(String name) getNamedSet(org.olap4j.mdx.IdentifierSegment segment) Returns this schema's parameters.static List<RolapSchema>Returns when this schema was last loaded.Creates aSchemaReaderwithout any access control.Returns a list of shared dimensions in this schema.getStars()Returns a list of warnings and errors that occurred while loading this schema.inthashCode()protected voidDeprecated.API changed to also pass Mondrian connection propertiesprotected voidload(String catalogUrl, String catalogStr, Util.PropertyList connectInfo) Method called by all constructors to load the catalog into DOM and build application mdx and sql objects.protected RolapCubelookupCube(String cubeName) Finds a cube called 'cube' in the current catalog, or return null if no cube exists.lookupCube(String cube, boolean failIfNotFound) Finds a cube calledcubein this schema; if no cube exists,failIfNotFoundcontrols whether to raise an error or returnnull.lookupRole(String role) Finds a role with a given name in the current catalog, or returnsnullif no such role exists.protected MondrianDef.CalculatedMemberlookupXmlCalculatedMember(String calcMemberName, String cubeName) Returns an xmlCalculatedMember called 'calcMemberName' in the cube called 'cubeName' or return null if no calculatedMember or xmlCube by those name exists.booleanremoveCube(String cubeName) Removes a cube.voidsetDataSourceChangeListener(DataSourceChangeListener dataSourceChangeListener)
-
Constructor Details
-
RolapSchema
public RolapSchema(SchemaKey key, ByteString md5Bytes, String catalogUrl, String catalogStr, Util.PropertyList connectInfo, DataSource dataSource) Create RolapSchema given the MD5 hash, catalog name and string (content) and the connectInfo object.- Parameters:
md5Bytes- may be nullcatalogUrl- URL of catalogcatalogStr- may be nullconnectInfo- Connection properties
-
-
Method Details
-
flushSegments
protected void flushSegments() -
flushJdbcSchema
protected void flushJdbcSchema()Clears the cache of JDBC tables for the aggs. -
finalCleanUp
protected void finalCleanUp()Performs a sweep of the JDBC tables caches and the segment data. Only called internally when a schema and it's data must be refreshed. -
finalize
protected void finalize() -
equals
-
hashCode
public int hashCode() -
getLogger
protected org.apache.logging.log4j.Logger getLogger() -
load
Deprecated.API changed to also pass Mondrian connection properties- Parameters:
catalogUrl- URL of catalogcatalogStr- Text of catalog, or null
-
load
Method called by all constructors to load the catalog into DOM and build application mdx and sql objects.- Parameters:
catalogUrl- URL of catalogcatalogStr- Text of catalog, or nullconnectInfo- Mondrian connection properties
-
getSchemaLoadDate
Description copied from interface:SchemaReturns when this schema was last loaded.- Specified by:
getSchemaLoadDatein interfaceSchema- Returns:
- Date and time when this schema was last loaded
-
getWarnings
Description copied from interface:SchemaReturns a list of warnings and errors that occurred while loading this schema.- Specified by:
getWarningsin interfaceSchema- Returns:
- list of warnings
-
getDefaultRole
-
getXMLSchema
-
getName
Description copied from interface:SchemaReturns the name of this schema. -
getId
Returns this schema instance unique ID. -
getKey
Returns this schema instance unique key.- Returns:
- a
SchemaKey.
-
getAnnotationMap
Description copied from interface:AnnotatedReturns a list of annotations.The map may be empty, never null.
- Specified by:
getAnnotationMapin interfaceAnnotated- Returns:
- Map from annotation name to annotations.
-
getDialect
Returns this schema's SQL dialect.NOTE: This method is not cheap. The implementation gets a connection from the connection pool.
- Returns:
- dialect
-
createDimension
Description copied from interface:SchemaCreates a dimension in the given cube by parsing an XML string. The XML string must be either a <Dimension> or a <DimensionUsage>. Returns the dimension created.- Specified by:
createDimensionin interfaceSchema
-
createCube
Description copied from interface:SchemaCreates a cube by parsing an XML string. Returns the cube created.- Specified by:
createCubein interfaceSchema
-
getRolapSchemas
-
cacheContains
-
lookupCube
Description copied from interface:SchemaFinds a cube calledcubein this schema; if no cube exists,failIfNotFoundcontrols whether to raise an error or returnnull.- Specified by:
lookupCubein interfaceSchema
-
lookupCube
Finds a cube called 'cube' in the current catalog, or return null if no cube exists. -
lookupXmlCalculatedMember
protected MondrianDef.CalculatedMember lookupXmlCalculatedMember(String calcMemberName, String cubeName) Returns an xmlCalculatedMember called 'calcMemberName' in the cube called 'cubeName' or return null if no calculatedMember or xmlCube by those name exists. -
calcMemberFqName
-
getCubesWithStar
-
addCube
Adds a cube to the cube name map.- See Also:
-
removeCube
Description copied from interface:SchemaRemoves a cube.- Specified by:
removeCubein interfaceSchema- Returns:
- Whether cube was removed
-
getCubes
Description copied from interface:SchemaReturns a list of all cubes in this schema. -
getCubeList
-
getNamedSet
-
getNamedSet
-
lookupRole
Description copied from interface:SchemaFinds a role with a given name in the current catalog, or returnsnullif no such role exists.- Specified by:
lookupRolein interfaceSchema
-
roleNames
-
getFunTable
Description copied from interface:SchemaReturns this schema's function table.- Specified by:
getFunTablein interfaceSchema
-
getParameters
Description copied from interface:SchemaReturns this schema's parameters.- Specified by:
getParametersin interfaceSchema
-
getSchemaReader
Description copied from interface:SchemaCreates aSchemaReaderwithout any access control.- Specified by:
getSchemaReaderin interfaceSchema
-
getChecksum
Returns the checksum of this schema. ReturnsnullifRolapConnectionProperties.UseContentChecksumis set to false.- Returns:
- MD5 checksum of this schema
-
getInternalConnection
Connection for purposes of parsing and validation. Careful! It won't have the correct locale or access-control profile. -
getRolapStarRegistry
-
getStar
-
getStar
-
getStars
-
getDataSourceChangeListener
- Returns:
- Returns the dataSourceChangeListener.
-
setDataSourceChangeListener
- Parameters:
dataSourceChangeListener- The dataSourceChangeListener to set.
-