org.pentaho.platform.plugin.action.jfreereport
Class JFreeReportComponent

java.lang.Object
  extended by org.pentaho.platform.engine.core.system.PentahoBase
      extended by org.pentaho.platform.engine.services.PentahoMessenger
          extended by org.pentaho.platform.engine.services.solution.ComponentBase
              extended by org.pentaho.platform.plugin.action.jfreereport.AbstractJFreeReportComponent
                  extended by 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:

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:

Author:
mbatchel
See Also:
Serialized Form

Field Summary
 
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 class org.pentaho.platform.engine.services.solution.ComponentBase
COMPONENT_EXECUTE_FAIL, MISSING_SESSION
 
Fields inherited from class org.pentaho.platform.engine.core.system.PentahoBase
EMPTYLOGID, LOGID_MASK1, LOGID_MASK2, LOGID_SEPARATOR
 
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
 
Constructor Summary
JFreeReportComponent()
           
 
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.
 org.apache.commons.logging.Log getLogger()
           
 org.pentaho.reporting.engine.classic.core.MasterReport getReport()
           
 boolean init()
          Initialize the Component.
 boolean print(org.pentaho.reporting.engine.classic.core.MasterReport 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(org.pentaho.reporting.engine.classic.core.MasterReport 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, error, fatal, fatal, getMessages, getUserString, info, info, setMessages, trace, trace, warn, warn
 
Methods inherited from class org.pentaho.platform.engine.core.system.PentahoBase
genLogIdFromInfo, genLogIdFromInfo, genLogIdFromSession, getLoggingLevel, setLoggingLevel, setLogId
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.pentaho.platform.api.engine.IComponent
getMessages, setMessages
 
Methods inherited from interface org.pentaho.platform.api.engine.ILogger
debug, debug, error, error, fatal, fatal, getLoggingLevel, info, info, setLoggingLevel, trace, trace, warn, warn
 

Constructor Detail

JFreeReportComponent

public JFreeReportComponent()
Method Detail

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 org.apache.commons.logging.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 org.pentaho.reporting.engine.classic.core.MasterReport getReport()
                                                                 throws Exception
Throws:
Exception

writeHtml

public boolean writeHtml(org.pentaho.reporting.engine.classic.core.MasterReport report,
                         OutputStream outputStream,
                         int yieldRate,
                         String htmlContentHandlerUrlPattern)

print

public boolean print(org.pentaho.reporting.engine.classic.core.MasterReport report,
                     String jobName,
                     String printerName)