public class FilterDynamicSchemaProcessor extends Object implements DynamicSchemaProcessor
DynamicSchemaProcessor
which allows a derived class
to easily process a schema file.
Mondrian's default mechanism for loading schema files, if no DynamicSchemaProcessor is specified, is to use Apache VFS (virtual file system) to resolve the URL to a stream, and to read the contents of the stream into a string.
FilterDynamicSchemaProcessor implements exactly the same mechanism, but makes it easy for a derived class to override the mechanism. For example:
processSchema(String, mondrian.olap.Util.PropertyList)
method.
filter(String, mondrian.olap.Util.PropertyList, java.io.InputStream)
method.
Constructor and Description |
---|
FilterDynamicSchemaProcessor() |
Modifier and Type | Method and Description |
---|---|
protected String |
filter(String catalog,
Util.PropertyList connectInfo)
Reads the contents of a catalog and returns the result as a string.
|
protected String |
filter(String schemaUrl,
Util.PropertyList connectInfo,
InputStream stream)
Reads the contents of a schema as a stream and returns the result as
a string.
|
String |
processCatalog(String catalog,
Util.PropertyList connectInfo)
Modifies a Mondrian catalog.
|
String |
processSchema(String schemaUrl,
Util.PropertyList connectInfo)
Modifies a Mondrian schema.
|
public String processSchema(String schemaUrl, Util.PropertyList connectInfo) throws Exception
An implementation should generally interpret the URL string as an Apache VFS (virtual file system) URL.
FilterDynamicSchemaProcessor's implementation of this method reads
from the URL supplied (that is, it does not perform URL translation)
and passes it through the filter(java.lang.String, mondrian.olap.Util.PropertyList)
method.
processSchema
in interface DynamicSchemaProcessor
schemaUrl
- The URL of the catalog.connectInfo
- Connection properties.Exception
- if an error occurs.public String processCatalog(String catalog, Util.PropertyList connectInfo) throws Exception
An implementation should process catalog and apply dynamic changes
FilterDynamicSchemaProcessor's implementation of this method use catalog
supplied and passes it through the filter(java.lang.String, mondrian.olap.Util.PropertyList)
method.
processCatalog
in interface DynamicSchemaProcessor
catalog
- The URL of the catalog.connectInfo
- Connection properties.Exception
- if an error occurs.protected String filter(String catalog, Util.PropertyList connectInfo)
The default implementation returns the contents of the catalog unchanged.
catalog
- the catalog contentconnectInfo
- Connection propertiesprotected String filter(String schemaUrl, Util.PropertyList connectInfo, InputStream stream) throws Exception
The default implementation returns the contents of the schema unchanged.
schemaUrl
- the URL of the catalogconnectInfo
- Connection propertiesstream
- Schema contents represented as a streamException
- if an error occursCopyright © 2020 Hitachi Vantara. All rights reserved.