Class AbstractNamedMDXDataFactory
- java.lang.Object
-
- org.pentaho.reporting.engine.classic.core.AbstractDataFactory
-
- org.pentaho.reporting.engine.classic.extensions.datasources.mondrian.AbstractMDXDataFactory
-
- org.pentaho.reporting.engine.classic.extensions.datasources.mondrian.AbstractNamedMDXDataFactory
-
- All Implemented Interfaces:
Serializable
,Cloneable
,org.pentaho.reporting.engine.classic.core.DataFactory
,org.pentaho.reporting.engine.classic.core.DataFactoryDesignTimeSupport
,org.pentaho.reporting.engine.classic.core.DataFactoryMetaProvider
- Direct Known Subclasses:
BandedMDXDataFactory
,DenormalizedMDXDataFactory
,LegacyBandedMDXDataFactory
public abstract class AbstractNamedMDXDataFactory extends AbstractMDXDataFactory
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.pentaho.reporting.engine.classic.extensions.datasources.mondrian.AbstractMDXDataFactory
AbstractMDXDataFactory.MDXCompiler
-
-
Constructor Summary
Constructors Constructor Description AbstractNamedMDXDataFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractNamedMDXDataFactory
clone()
void
close()
Closes the data factory and frees all resources held by this instance.protected String
computedQuery(String queryName, org.pentaho.reporting.engine.classic.core.DataRow parameters)
String
getGlobalScript()
String
getGlobalScriptLanguage()
String
getQuery(String name)
ArrayList<Object>
getQueryHash(String queryName, org.pentaho.reporting.engine.classic.core.DataRow parameters)
String[]
getQueryNames()
Returns all known query-names.String[]
getReferencedFields(String query, org.pentaho.reporting.engine.classic.core.DataRow parameter)
String
getScript(String name)
String
getScriptingLanguage(String name)
void
initialize(org.pentaho.reporting.engine.classic.core.DataFactoryContext dataFactoryContext)
boolean
isQueryExecutable(String query, org.pentaho.reporting.engine.classic.core.DataRow parameters)
Checks whether the query would be executable by this datafactory.mondrian.olap.Result
performQuery(String queryName, org.pentaho.reporting.engine.classic.core.DataRow parameters)
Queries a datasource.protected TableModel
postProcess(String queryName, org.pentaho.reporting.engine.classic.core.DataRow parameters, TableModel tableModel)
void
remove(String name)
void
setGlobalScript(String globalScript)
void
setGlobalScriptLanguage(String scriptLanguage)
void
setQuery(String name, String queryString)
void
setQuery(String name, String queryString, String queryScriptLanguage, String queryScript)
protected String
translateQuery(String query)
-
Methods inherited from class org.pentaho.reporting.engine.classic.extensions.datasources.mondrian.AbstractMDXDataFactory
cancelRunningQuery, clearCache, extractQueryLimit, getBaseConnectionProperties, getCubeFileProvider, getDataSourceProvider, getDesignTimeName, getDynamicSchemaProcessor, getJdbcPassword, getJdbcPasswordField, getJdbcUser, getJdbcUserField, getMondrianConnectionProvider, getRole, getRoleField, isMembersOnAxisSorted, isUseContentChecksum, isUseSchemaPool, quote, setBaseConnectionProperties, setCubeFileProvider, setDataSourceProvider, setDesignTimeName, setDynamicSchemaProcessor, setJdbcPassword, setJdbcPasswordField, setJdbcUser, setJdbcUserField, setMembersOnAxisSorted, setMondrianConnectionProvider, setRole, setRoleField, setUseContentChecksum, setUseSchemaPool, yuckyInternalMondrianLookup
-
Methods inherited from class org.pentaho.reporting.engine.classic.core.AbstractDataFactory
calculateQueryLimit, calculateQueryTimeOut, derive, getConfiguration, getContextKey, getDataFactoryContext, getDisplayConnectionName, getLocale, getMetaData, getResourceBundleFactory, getResourceManager, queryDesignTimeStructure
-
-
-
-
Method Detail
-
isQueryExecutable
public boolean isQueryExecutable(String query, org.pentaho.reporting.engine.classic.core.DataRow parameters)
Checks whether the query would be executable by this datafactory. This performs a rough check, not a full query.- Specified by:
isQueryExecutable
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactory
- Overrides:
isQueryExecutable
in classAbstractMDXDataFactory
- Parameters:
query
- the query.parameters
- the parameters.- Returns:
- true, if the query would be executable, false if the query is not recognized.
-
setQuery
public void setQuery(String name, String queryString, String queryScriptLanguage, String queryScript)
-
remove
public void remove(String name)
-
getGlobalScriptLanguage
public String getGlobalScriptLanguage()
-
setGlobalScriptLanguage
public void setGlobalScriptLanguage(String scriptLanguage)
-
getGlobalScript
public String getGlobalScript()
-
setGlobalScript
public void setGlobalScript(String globalScript)
-
getQueryNames
public String[] getQueryNames()
Description copied from class:AbstractMDXDataFactory
Returns all known query-names. A data-factory may accept more than the query-names returned here.- Specified by:
getQueryNames
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactory
- Overrides:
getQueryNames
in classAbstractMDXDataFactory
- Returns:
- the known query names.
-
initialize
public void initialize(org.pentaho.reporting.engine.classic.core.DataFactoryContext dataFactoryContext) throws org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
- Specified by:
initialize
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactory
- Overrides:
initialize
in classAbstractMDXDataFactory
- Throws:
org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
-
performQuery
public mondrian.olap.Result performQuery(String queryName, org.pentaho.reporting.engine.classic.core.DataRow parameters) throws org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
Queries a datasource. The string 'query' defines the name of the query. The Parameterset given here may contain more data than actually needed for the query. The parameter-dataset may change between two calls, do not assume anything, and do not hold references to the parameter-dataset or the position of the columns in the dataset.- Overrides:
performQuery
in classAbstractMDXDataFactory
- Parameters:
queryName
- the query nameparameters
- the parameters for the query- Returns:
- the result of the query as table model.
- Throws:
org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
- if an error occured while performing the query.
-
postProcess
protected TableModel postProcess(String queryName, org.pentaho.reporting.engine.classic.core.DataRow parameters, TableModel tableModel) throws org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
- Throws:
org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
-
computedQuery
protected String computedQuery(String queryName, org.pentaho.reporting.engine.classic.core.DataRow parameters) throws org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
- Overrides:
computedQuery
in classAbstractMDXDataFactory
- Throws:
org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
-
translateQuery
protected String translateQuery(String query)
- Overrides:
translateQuery
in classAbstractMDXDataFactory
-
getReferencedFields
public String[] getReferencedFields(String query, org.pentaho.reporting.engine.classic.core.DataRow parameter) throws org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
- Specified by:
getReferencedFields
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactoryMetaProvider
- Overrides:
getReferencedFields
in classAbstractMDXDataFactory
- Throws:
org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
-
getQueryHash
public ArrayList<Object> getQueryHash(String queryName, org.pentaho.reporting.engine.classic.core.DataRow parameters) throws org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
- Specified by:
getQueryHash
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactoryMetaProvider
- Overrides:
getQueryHash
in classAbstractMDXDataFactory
- Throws:
org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
-
close
public void close()
Description copied from class:AbstractMDXDataFactory
Closes the data factory and frees all resources held by this instance.- Specified by:
close
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactory
- Overrides:
close
in classAbstractMDXDataFactory
-
clone
public AbstractNamedMDXDataFactory clone()
- Specified by:
clone
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactory
- Overrides:
clone
in classAbstractMDXDataFactory
-
-