Class Job

All Implemented Interfaces:
Serializable, BaseStepExtender, Step

@KFStep(name="Job", category="Flow", toolTipText="Execute a flow as a \'job\' and wait for it to finish", iconPath="weka/gui/knowledgeflow/icons/Job.gif") public class Job extends BaseStep
Step that executes another flow as a "job". Typically, you would parameterize the flow to be executed with variables (in steps that support variables) and then use a a data source connected to a SetVariables step to change the values of the variables dynamically at runtime. For example, a DataGrid could be used to define a set of instances with a string variable containing paths to ARFF files to process; SetVariables can be used to transfer these file paths from the incoming instances generated by DataGrid to the values of variables; then the Job step can execute it's sub-flow for each configuration of variables received, thus processing a different ARFF file (if the subflow uses an ArffLoader step).
Version:
$Revision: $
Author:
Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
  • Constructor Details

    • Job

      public Job()
  • Method Details

    • setFlowFile

      @FilePropertyMetadata(fileChooserDialogType=0, directoriesOnly=false) @OptionMetadata(displayName="Flow file", description="The flow to execute", displayOrder=0) public void setFlowFile(File flowFile)
    • getFlowFile

      public File getFlowFile()
    • stepInit

      public void stepInit() throws WekaException
      Description copied from interface: Step
      Initialize the step.
      Throws:
      WekaException - if a problem occurs during initialization
    • start

      public void start() throws WekaException
      Description copied from class: BaseStep
      Start processing. Subclasses should override this method if they can act as a start point in a flow.
      Specified by:
      start in interface BaseStepExtender
      Specified by:
      start in interface Step
      Overrides:
      start in class BaseStep
      Throws:
      WekaException - if a problem occurs
    • processIncoming

      public void processIncoming(Data data) throws WekaException
      Description copied from class: BaseStep
      Process an incoming data payload (if the step accepts incoming connections)
      Specified by:
      processIncoming in interface BaseStepExtender
      Specified by:
      processIncoming in interface Step
      Overrides:
      processIncoming in class BaseStep
      Parameters:
      data - the payload to process
      Throws:
      WekaException - if a problem occurs
    • getIncomingConnectionTypes

      public List<String> getIncomingConnectionTypes()
      Description copied from interface: Step
      Get a list of incoming connection types that this step can accept. Ideally (and if appropriate), this should take into account the state of the step and any existing incoming connections. E.g. a step might be able to accept one (and only one) incoming batch data connection.
      Returns:
      a list of incoming connections that this step can accept given its current state
    • getOutgoingConnectionTypes

      public List<String> getOutgoingConnectionTypes()
      Description copied from interface: Step
      Get a list of outgoing connection types that this step can produce. Ideally (and if appropriate), this should take into account the state of the step and the incoming connections. E.g. depending on what incoming connection is present, a step might be able to produce a trainingSet output, a testSet output or neither, but not both.
      Returns:
      a list of outgoing connections that this step can produce
    • getCustomEditorForStep

      public String getCustomEditorForStep()
      Get the custom editor for this step
      Specified by:
      getCustomEditorForStep in interface Step
      Overrides:
      getCustomEditorForStep in class BaseStep
      Returns:
      the fully qualified class name of the clustom editor for this step