Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
Trans Trans = new Trans(transMeta);

// prepare the execution of the transformation (instead of simply execute)
//
trans.prepareExecution(arguments);


// Find a step thread (ready to run but not yet started)
// You can also use method Trans.findBaseStep which gives back a list of all the step copies
//
StepInterface step = trans.findRunThread("Your Step Name");


// Attach a row listener to a step copy
//
step.addRowListener(new RowAdapter() {

    public void rowReadEvent(RowMetaInterface rowMeta, Object[] row) throws KettleStepException {
       // Here you get the rows as they are read by the step     
    }

    public void rowWrittenEvent(RowMetaInterface rowMeta, Object[] row) throws KettleStepException {
       // Here you get the rows as they are written by the step
    }
  }
);


// Now start the transformation threads...
//
trans.startThreads();

// If you want to wait until the transformation is finished...
//
trans.waitUntilFinished(); //

// If you want to know about the execution result.
//
Result result = trans.getResult();

Passing rows of data to a transformation

To pass rows of data to a Kettle transformation you can use an Inject step as a placeholder.

See the documentation for more information regarding Kettle API usage.