org.pentaho.platform.plugin.action.chartbeans
Class ChartAction

java.lang.Object
  extended by org.pentaho.platform.plugin.action.chartbeans.ChartAction
All Implemented Interfaces:
IAction, IStreamingAction

public class ChartAction
extends Object
implements IStreamingAction

This class was adapted from ChartComponent by cboyden This is a bean that permits easy access to the ChartBeans functionality and was specifically designed to be run from within the Pentaho Platform as an Action Sequence Action.

Author:
cboyden, aphillips

Constructor Summary
ChartAction()
           
 
Method Summary
 void execute()
          Called to process the chart definition and data set to produce a usable chart.
 String getChartEngine()
          Get the chart engine that the resulting chart was created through
 boolean getConvertNullsToZero()
           
 String getMimeType(String streamPropertyName)
          Requests the mimetype of the content that the Action will write to the provided stream name.
 String getSwfName()
           
 String getSwfPath()
           
 void setCategoryColumn(String categoryCol)
          Define the column in the data set that contains the Category data
 void setChartContentStream(OutputStream outStream)
          Define the OutputStream to which the resulting chart shall be written
 void setChartData(org.pentaho.commons.connection.IPentahoResultSet chartDataSet)
          Define the data set that will populate the chart
 void setChartEngine(String chartEngine)
          Set the chart engine to render the chart
 void setChartHeight(int chartHeight)
          Set the height of the chart in units specific to the ChartPlugin
 void setChartHeight(String chartHeight)
          Set the height of the chart in units specific to the ChartPlugin
 void setChartModel(org.pentaho.chart.model.ChartModel chartModel)
          Set the ChartModel
 void setChartModelJson(String chartModelJson)
          Set the JSON representation of the ChartModel
 void setChartModelXml(String chartModelXml)
          Set the XML representation of the ChartModel
 void setChartModelXmlStream(InputStream chartModelStream)
          Set the XML representation of the ChartModel as an InputStream
 void setChartWidth(int chartWidth)
          Set the width of the chart in units specific to the ChartPlugin
 void setChartWidth(String chartWidth)
          Set the width of the chart in units specific to the ChartPlugin
 void setConvertNullsToZero(boolean convert)
           
 void setOutputType(String outputType)
           
 void setScalingFactor(Double scalingFactor)
           
 void setSeriesColumn(String seriesCol)
          Define the column in the data set that contains the Series/Domain data
 void setValueColumn(String valueCol)
          Define the column in the data set that contains the Value/Range data
 void validate()
          Validate the current settings of the ChartAction.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChartAction

public ChartAction()
Method Detail

execute

public void execute()
             throws Exception
Called to process the chart definition and data set to produce a usable chart.

Specified by:
execute in interface IAction
Throws:
ChartBootException
ChartProcessingException
ResourceException
InvalidChartDefinition
IOException
PersistenceException
Exception - if there was an error executing the Action
See Also:
IAction.execute()

setChartContentStream

public void setChartContentStream(OutputStream outStream)
Define the OutputStream to which the resulting chart shall be written

Parameters:
outStream - Stream to receive the chart

setChartData

public void setChartData(org.pentaho.commons.connection.IPentahoResultSet chartDataSet)
Define the data set that will populate the chart

Parameters:
chartDataSet - data set for charting

validate

public void validate()
              throws Exception
Validate the current settings of the ChartAction. If validate() returns true, then execute may be called. If validate() returns false, a call to execute() is guaranteed to fail.

Throws:
Exception

setSeriesColumn

public void setSeriesColumn(String seriesCol)
Define the column in the data set that contains the Series/Domain data

Parameters:
seriesCol - name of column that contains the Series/Domain for the chart

setConvertNullsToZero

public void setConvertNullsToZero(boolean convert)

getConvertNullsToZero

public boolean getConvertNullsToZero()

setCategoryColumn

public void setCategoryColumn(String categoryCol)
Define the column in the data set that contains the Category data

Parameters:
seriesCol - name of column that contains the Category for the chart

setValueColumn

public void setValueColumn(String valueCol)
Define the column in the data set that contains the Value/Range data

Parameters:
seriesCol - name of column that contains the Value/Range for the chart

getMimeType

public String getMimeType(String streamPropertyName)
Description copied from interface: IStreamingAction
Requests the mimetype of the content that the Action will write to the provided stream name. To use the example in the above javadoc, this streamPropertyName would be "reportContent".

Specified by:
getMimeType in interface IStreamingAction
Parameters:
streamPropertyName - the action definition output name representing the streamed output, e.g. "reportContent"
Returns:
the mimeType for the stream indicated by streamPropertyName

setChartModelJson

public void setChartModelJson(String chartModelJson)
Set the JSON representation of the ChartModel

Parameters:
chartModelJson - JSON serialized representation of the ChartModel

setChartModelXmlStream

public void setChartModelXmlStream(InputStream chartModelStream)
                            throws IOException
Set the XML representation of the ChartModel as an InputStream

Parameters:
chartModelStream - XML serialized representation of the ChartModel
Throws:
IOException - if there is a problem converting the input stream to an encoded string

setChartModelXml

public void setChartModelXml(String chartModelXml)
Set the XML representation of the ChartModel

Parameters:
chartStyleXml - XML serialized representation of the ChartModel

setChartModel

public void setChartModel(org.pentaho.chart.model.ChartModel chartModel)
Set the ChartModel

Parameters:
chartModel - model of the chart to be generated

setChartWidth

public void setChartWidth(int chartWidth)
Set the width of the chart in units specific to the ChartPlugin

Parameters:
chartWidth - width of the chart

setChartHeight

public void setChartHeight(int chartHeight)
Set the height of the chart in units specific to the ChartPlugin

Parameters:
chartHeight - height of the chart

setChartWidth

public void setChartWidth(String chartWidth)
Set the width of the chart in units specific to the ChartPlugin

Parameters:
chartWidth - width of the chart

setChartHeight

public void setChartHeight(String chartHeight)
Set the height of the chart in units specific to the ChartPlugin

Parameters:
chartHeight - height of the chart

getChartEngine

public String getChartEngine()
Get the chart engine that the resulting chart was created through

Returns:

setChartEngine

public void setChartEngine(String chartEngine)
Set the chart engine to render the chart

Parameters:
chartEngine - Value of "JFreeChart" or "OpenFlashChart"

setOutputType

public void setOutputType(String outputType)

setScalingFactor

public void setScalingFactor(Double scalingFactor)

getSwfPath

public String getSwfPath()

getSwfName

public String getSwfName()