org.pentaho.platform.plugin.action.jfreereport
Class JFreeReportComponent
java.lang.Object
org.pentaho.platform.engine.core.system.PentahoBase
org.pentaho.platform.engine.services.PentahoMessenger
org.pentaho.platform.engine.services.solution.ComponentBase
org.pentaho.platform.plugin.action.jfreereport.AbstractJFreeReportComponent
org.pentaho.platform.plugin.action.jfreereport.JFreeReportComponent
- All Implemented Interfaces:
- Serializable, IAuditable, IComponent, ILogger, IParameterResolver
- Direct Known Subclasses:
- ReportWizardSpecComponent
public class JFreeReportComponent
- extends AbstractJFreeReportComponent
The JFreeReportComponent provides a simple-to-use frontend for the reporting
process.
This component will execute JFreeReport reports in one of two
different modes:
sqlMode = true
This means that the JFreeReport component is expected to execute an SQL query,
wrap the resulting SQL Resultset in a TableModel, and use that to execute a report
whose definition is in the file system. In this mode, the action-sequence
definition must contain the following elements: In the resource-definition section,
there must be a resource called "report-definition" which defines the location of
the jfreereport xml document. In the component-definition sction, there must
be the following entries:
- A "query" parameter which contains an SQL query.
- Either for connecting to the SQL datasource:
- A "jndi" parameter (with the jndi name of the datasource)
- or The database parameters "driver", "user-id", "password" and "connection" so
that a database connection can be established for running the afore-mentioned
"query".
sqlMode = false
This means that the JFreeReport component is expected to execute a report that
exists in a .jar file (like the reporting demo reports) along with the TableModel
class that provides the data for the report. In this mode, the action-sequence
definition must contain the following elements: In the resource-definition section,
there must be a resource called "report-jar" that points to the .jar file that
contains the report .xml file, and the TableModel implementation. In the
component-definition section, there must be two entries:
- "report-location" - This is the location of the report .xml document (e.g.
org/jfree/report/demo/report1.xml)
- "class-location" - This is the package-qualified class that implements
TableModel (e.g. org.jfree.report.demo.SampleData1).
- Author:
- mbatchel
- See Also:
- Serialized Form
Fields inherited from class org.pentaho.platform.plugin.action.jfreereport.AbstractJFreeReportComponent |
DATACOMPONENT_CLASSLOCINPUT, DATACOMPONENT_DATAINPUT, DATACOMPONENT_DEFAULTINPUT, DATACOMPONENT_JARINPUT, DATACOMPONENT_MDXCLASS, DATACOMPONENT_MDXSOURCE, DATACOMPONENT_REPORTTEMP_DATAINPUT, DATACOMPONENT_REPORTTEMP_OBJINPUT, DATACOMPONENT_SOURCE, DATACOMPONENT_SQLCLASS, DATACOMPONENT_SQLSOURCE, REPORTALLCONTENT_OUTPUTTYPE, REPORTALLCONTENT_OUTPUTTYPE_CSV, REPORTALLCONTENT_OUTPUTTYPE_HTML, REPORTALLCONTENT_OUTPUTTYPE_PDF, REPORTALLCONTENT_OUTPUTTYPE_RTF, REPORTALLCONTENT_OUTPUTTYPE_SWING, REPORTALLCONTENT_OUTPUTTYPE_XLS, REPORTALLCONTENT_OUTPUTTYPE_XML, REPORTDIRECTORYHTML_DATADIR, REPORTDIRECTORYHTML_TARGETFILE, REPORTGENERATE_PRIORITYINPUT, REPORTGENERATE_PRIORITYLOWER, REPORTGENERATE_PRIORITYLOWEST, REPORTGENERATE_PRIORITYNORMAL, REPORTGENERATE_YIELDRATE, REPORTGENERATEDEFN_REPORTDEFN, REPORTGENERATEDEFN_REPORTSPECINPUT, REPORTGENERATEDEFN_REPORTTEMP_PERFQRY, REPORTGENERATESTREAM_REPORT_OUTPUT, REPORTHTML_CONTENTHANDLER, REPORTLOAD_REPORTLOC, REPORTLOAD_RESOURCENAME, REPORTLOAD_RESURL, REPORTPARAMCOMPONENT_PRIVATEREPORT_OUTPUT, REPORTSWING_MODAL, REPORTSWING_PARENTDIALOG, REPORTSWING_PROGRESSBAR, REPORTSWING_PROGRESSDIALOG, REPORTSWING_REPORTCONTROLLER, WORKBOOK_PARAM |
Fields inherited from interface org.pentaho.platform.api.engine.ILogger |
ACTIVITY_LOG, DEBUG, ERROR, FATAL, INFO, INSTANCE_LOG, SESSION_LOG, SOLUTION_LOG, TRACE, UNKNOWN, WARN |
Method Summary |
void |
done()
Allows the component to perform any cleanup after the execution of the
action. |
boolean |
executeAction()
This method gets called from the outside. |
Log |
getLogger()
|
JFreeReport |
getReport()
|
boolean |
init()
Initialize the Component. |
boolean |
print(JFreeReport report,
String jobName,
String printerName)
|
boolean |
validateAction()
We cannot validate the parameters of all components, as the required parameters
might not have been created. |
boolean |
validateSystemSettings()
|
boolean |
writeHtml(JFreeReport report,
OutputStream outputStream,
int yieldRate,
String htmlContentHandlerUrlPattern)
|
Methods inherited from class org.pentaho.platform.engine.services.solution.ComponentBase |
createFeedbackParameter, createFeedbackParameter, createNewInstance, execute, getActionDefinition, getActionName, getActionTitle, getComponentDefinition, getComponentDefinition, getId, getInitFailMessage, getInitOk, getInstanceId, getLogId, getObjectName, getProcessId, getResourceAsString, getRuntimeContext, getSession, inputMissingError, outputMissingError, promptNeeded, promptNow, resolveParameter, resourceComponentSettingError, resourceMissingError, setActionDefinition, setActionName, setComponentDefinition, setComponentDefinitionMap, setInstanceId, setProcessId, setRuntimeContext, setSession, validate |
Methods inherited from class org.pentaho.platform.engine.services.PentahoMessenger |
debug, debug, error, error, fatal, fatal, getMessages, getUserString, info, info, setMessages, trace, trace, warn, warn |
Methods inherited from interface org.pentaho.platform.api.engine.ILogger |
debug, debug, error, error, fatal, fatal, getLoggingLevel, info, info, setLoggingLevel, trace, trace, warn, warn |
JFreeReportComponent
public JFreeReportComponent()
init
public boolean init()
- Description copied from interface:
IComponent
- Initialize the Component. This method is typically called on
construction.
- Specified by:
init
in interface IComponent
- Specified by:
init
in class ComponentBase
- Returns:
- returns true if the Component initialized successfully, otherwise
returns false
done
public void done()
- Description copied from interface:
IComponent
- Allows the component to perform any cleanup after the execution of the
action.
- Specified by:
done
in interface IComponent
- Specified by:
done
in class ComponentBase
validateSystemSettings
public boolean validateSystemSettings()
getLogger
public Log getLogger()
- Specified by:
getLogger
in class PentahoBase
validateAction
public boolean validateAction()
- We cannot validate the parameters of all components, as the required parameters
might not have been created.
- Returns:
executeAction
public boolean executeAction()
- This method gets called from the outside. Based upon our mode call the correct
function.
getReport
public JFreeReport getReport()
throws Exception
- Throws:
Exception
writeHtml
public boolean writeHtml(JFreeReport report,
OutputStream outputStream,
int yieldRate,
String htmlContentHandlerUrlPattern)
print
public boolean print(JFreeReport report,
String jobName,
String printerName)