Class 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 Detail

      • KettleDataFactory

        public KettleDataFactory()
    • Method Detail

      • setMetadata

        public void setMetadata​(org.pentaho.reporting.engine.classic.core.metadata.DataFactoryMetaData metadata)
      • 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 string
        parameters - 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 interface org.pentaho.reporting.engine.classic.core.DataFactory
        Overrides:
        clone in class org.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 interface org.pentaho.reporting.engine.classic.core.DataFactoryDesignTimeSupport
        Overrides:
        queryDesignTimeStructure in class org.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 interface org.pentaho.reporting.engine.classic.core.DataFactory
        Overrides:
        cancelRunningQuery in class org.pentaho.reporting.engine.classic.core.AbstractDataFactory
      • getQueryHash

        public Object getQueryHash​(String queryName)
      • queriesAreHomogeneous

        public boolean queriesAreHomogeneous()
      • getMetaData

        public org.pentaho.reporting.engine.classic.core.metadata.DataFactoryMetaData getMetaData()
        Specified by:
        getMetaData in interface org.pentaho.reporting.engine.classic.core.DataFactory
        Overrides:
        getMetaData in class org.pentaho.reporting.engine.classic.core.AbstractDataFactory