baseStep.addRowListener( new RowAdapter() { public void rowWrittenEvent( RowMetaInterface rowMeta, Object[] row ) throws KettleStepException { try {
public Optional<Result> execute( List<RowMetaAndData> rows ) throws KettleException { if ( rows.isEmpty() || stopped ) { return Optional.empty(); } Trans subtrans = this.createSubtrans(); running.add( subtrans ); parentTrans.addActiveSubTransformation( subTransName, subtrans ); // Pass parameter values passParametersToTrans( subtrans, rows.get( 0 ) ); Result result = new Result(); result.setRows( rows ); subtrans.setPreviousResult( result ); subtrans.prepareExecution( this.parentTrans.getArguments() ); List<RowMetaAndData> rowMetaAndData = new ArrayList<>(); subtrans.getSteps().stream() .filter( c -> c.step.getStepname().equalsIgnoreCase( subStep ) ) .findFirst() .ifPresent( c -> c.step.addRowListener( new RowAdapter() { @Override public void rowWrittenEvent( RowMetaInterface rowMeta, Object[] row ) { rowMetaAndData.add( new RowMetaAndData( rowMeta, row ) ); } } ) ); subtrans.startThreads(); subtrans.waitUntilFinished(); updateStatuses( subtrans ); running.remove( subtrans ); Result subtransResult = subtrans.getResult(); subtransResult.setRows( rowMetaAndData ); return Optional.of( subtransResult ); }
step.addRowListener( new RowAdapter() { @Override public void rowWrittenEvent( RowMetaInterface rowMeta, Object[] row ) throws KettleStepException { break; default: step.addRowListener( new RowAdapter() {
step.addRowListener( rowListener );
runThread.addRowListener( rowListener );
@Test public void doesNotWriteRowOnTimeWhenStopped() throws KettleException, InterruptedException { TransMeta transMeta = new TransMeta( getClass().getResource( "safe-stop.ktr" ).getPath() ); Trans trans = new Trans( transMeta ); trans.prepareExecution( new String[] {} ); trans.getSteps().get( 1 ).step.addRowListener( new RowAdapter() { @Override public void rowWrittenEvent( RowMetaInterface rowMeta, Object[] row ) throws KettleStepException { trans.safeStop(); } } ); trans.startThreads(); trans.waitUntilFinished(); assertEquals( 1, trans.getSteps().get( 0 ).step.getLinesWritten() ); assertEquals( 1, trans.getSteps().get( 1 ).step.getLinesRead() ); } }
si.addRowListener( dummyRc ); junit.addRowListener( dummyJu ); er.addRowListener( erColl );
trans.prepareExecution( null ); StepInterface step = trans.getRunThread( stepname, 0 ); step.addRowListener( new RowAdapter() { @Override public void rowWrittenEvent( RowMetaInterface rowMeta, Object[] row ) throws KettleStepException {
throw new KettleException( "Unable to find step '" + meta.getSourceStepName() + "' to read from." ); stepInterface.addRowListener( new RowAdapter() { @Override public void rowWrittenEvent( RowMetaInterface rowMeta, Object[] row ) throws KettleStepException {
si.addRowListener( dummyRc );
outputStepInterface.addRowListener( outputDataMapper );
retrieveStep.addRowListener( new RowAdapter() { @Override public void rowWrittenEvent( RowMetaInterface rowMeta, Object[] row ) throws KettleStepException {
private boolean registerAsStepListener( Trans trans, Query query, Map fieldMap ) throws Exception { boolean success = false; if ( trans != null ) { List<StepMetaDataCombi> stepList = trans.getSteps(); // assume the last step for ( StepMetaDataCombi step : stepList ) { if ( !"Unique rows".equals( step.stepname ) ) { //$NON-NLS-1$ continue; } if ( logger.isDebugEnabled() ) { logger.debug( "STEP NAME: " + step.stepname ); //$NON-NLS-1$ } RowMetaInterface row = trans.getTransMeta().getStepFields( step.stepMeta ); // step.stepname? // create the metadata that the Pentaho result sets need String[] fieldNames = row.getFieldNames(); String[][] columns = new String[1][fieldNames.length]; for ( int column = 0; column < fieldNames.length; column++ ) { columns[0][column] = fieldNames[column]; } // build valid metadata QueryModelMetaData metadata = new QueryModelMetaData( fieldMap, columns, null, query.getSelections() ); results = new MemoryResultSet( metadata ); errorResults = new MemoryResultSet( metadata ); // add ourself as a row listener step.step.addRowListener( this ); success = true; } } return success; }
step.addRowListener( rowAdapter );
if ( outputStep != null ) { rowCollector = new OutputCollectorRowListener( output, outClassK, outClassV, reporter, debug ); outputStep.addRowListener( rowCollector );
outputStep.addRowListener( rowCollector );
protected void executeTransformSync( Trans trans, String listenerStepName, IPentahoSession session ) throws CsvTransformGeneratorException { PdiRowListener rowListener = new PdiRowListener(); if ( listenerStepName != null ) { trans.getStepInterface( listenerStepName, 0 ).addRowListener( rowListener ); } try { trans.startThreads(); } catch ( Exception e ) { error( "Preview Failed: starting threads", e ); //$NON-NLS-1$ throw new CsvTransformGeneratorException( "Preview Failed: starting threads", e, getStackTraceAsString( e ) ); //$NON-NLS-1$ } try { trans.waitUntilFinished(); } catch ( Exception e ) { error( "Preview Failed: running", e ); //$NON-NLS-1$ throw new CsvTransformGeneratorException( "Preview Failed: running", e, getStackTraceAsString( e ) ); //$NON-NLS-1$ } try { trans.cleanup(); } catch ( Exception e ) { error( "Preview Failed: ending", e ); //$NON-NLS-1$ throw new CsvTransformGeneratorException( "Preview Failed: ending", e, getStackTraceAsString( e ) ); //$NON-NLS-1$ } if ( transformStats != null ) { transformStats.setDataRows( rowListener.getWrittenRows() ); } }