Class KettleDataFactory
- java.lang.Object
-
- org.pentaho.reporting.engine.classic.core.AbstractDataFactory
-
- org.pentaho.reporting.engine.classic.extensions.datasources.kettle.KettleDataFactory
-
- 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
public class KettleDataFactory extends org.pentaho.reporting.engine.classic.core.AbstractDataFactory
Fires a Kettle-Query by executing a Kettle-Transformation.- Author:
- Thomas Morgner
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description KettleDataFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cancelRunningQuery()
KettleDataFactory
clone()
void
close()
Closes the data factory and frees all resources held by this instance.org.pentaho.reporting.engine.classic.core.metadata.DataFactoryMetaData
getMetaData()
KettleTransformationProducer
getQuery(String name)
Object
getQueryHash(String queryName)
String[]
getQueryNames()
boolean
isQueryExecutable(String query, org.pentaho.reporting.engine.classic.core.DataRow parameters)
Checks whether the query would be executable by this datafactory.boolean
queriesAreHomogeneous()
TableModel
queryData(String query, org.pentaho.reporting.engine.classic.core.DataRow parameters)
Queries a datasource.TableModel
queryDesignTimeStructure(String query, org.pentaho.reporting.engine.classic.core.DataRow parameter)
void
setMetadata(org.pentaho.reporting.engine.classic.core.metadata.DataFactoryMetaData metadata)
void
setQuery(String name, KettleTransformationProducer value)
-
Methods inherited from class org.pentaho.reporting.engine.classic.core.AbstractDataFactory
calculateQueryLimit, calculateQueryTimeOut, derive, getConfiguration, getContextKey, getDataFactoryContext, getDisplayConnectionName, getLocale, getQueryHash, getReferencedFields, getResourceBundleFactory, getResourceManager, initialize
-
-
-
-
Method Detail
-
setMetadata
public void setMetadata(org.pentaho.reporting.engine.classic.core.metadata.DataFactoryMetaData metadata)
-
setQuery
public void setQuery(String name, KettleTransformationProducer value)
-
getQuery
public KettleTransformationProducer getQuery(String name)
-
getQueryNames
public String[] getQueryNames()
-
queryData
public TableModel queryData(String query, 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.- Parameters:
query
- the query stringparameters
- 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.
-
clone
public KettleDataFactory clone()
- Specified by:
clone
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactory
- Overrides:
clone
in classorg.pentaho.reporting.engine.classic.core.AbstractDataFactory
-
queryDesignTimeStructure
public TableModel queryDesignTimeStructure(String query, org.pentaho.reporting.engine.classic.core.DataRow parameter) throws org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
- Specified by:
queryDesignTimeStructure
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactoryDesignTimeSupport
- Overrides:
queryDesignTimeStructure
in classorg.pentaho.reporting.engine.classic.core.AbstractDataFactory
- Throws:
org.pentaho.reporting.engine.classic.core.ReportDataFactoryException
-
close
public void close()
Closes the data factory and frees all resources held by this instance.
-
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.- Parameters:
query
- the query, never null.parameters
- the parameters, never null.- Returns:
- true, if the query would be executable, false if the query is not recognized.
-
cancelRunningQuery
public void cancelRunningQuery()
- Specified by:
cancelRunningQuery
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactory
- Overrides:
cancelRunningQuery
in classorg.pentaho.reporting.engine.classic.core.AbstractDataFactory
-
queriesAreHomogeneous
public boolean queriesAreHomogeneous()
-
getMetaData
public org.pentaho.reporting.engine.classic.core.metadata.DataFactoryMetaData getMetaData()
- Specified by:
getMetaData
in interfaceorg.pentaho.reporting.engine.classic.core.DataFactory
- Overrides:
getMetaData
in classorg.pentaho.reporting.engine.classic.core.AbstractDataFactory
-
-