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 schemaUrl,
Util.PropertyList connectInfo,
InputStream stream)
Reads the contents of a schema as a stream and returns the result as
a string.
|
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, java.io.InputStream)
method.
processSchema
in interface DynamicSchemaProcessor
schemaUrl
- The URL of the catalog.connectInfo
- Connection properties.Exception
- if an error occurs.protected 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 © 2019 Hitachi Vantara. All rights reserved.