@Test public void testCollectTransResultsDisabledHop() throws KettleException { StepMeta outputRowsSourceStepMeta = mock( StepMeta.class ); meta.setOutputRowsSourceStepMeta( outputRowsSourceStepMeta ); Result result = mock( Result.class ); RowMetaAndData rowMetaAndData = mock( RowMetaAndData.class ); when( result.getRows() ).thenReturn( Arrays.asList( rowMetaAndData ) ); doNothing().when( executor ).putRowTo( any(), any(), any() ); executor.init( meta, data ); executor.collectTransResults( result ); verify( executor, never() ).putRowTo( any(), any(), any() ); }
@VisibleForTesting void collectTransResults( Result result ) throws KettleException { RowSet transResultsRowSet = getData().getResultRowsRowSet(); if ( meta.getOutputRowsSourceStepMeta() != null && transResultsRowSet != null ) { for ( RowMetaAndData metaAndData : result.getRows() ) { putRowTo( metaAndData.getRowMeta(), metaAndData.getData(), transResultsRowSet ); } } }
@Override public boolean processRow( StepMetaInterface smi, StepDataInterface sdi ) throws KettleException { Preconditions.checkArgument( first, BaseMessages.getString( PKG, "BaseStreamStep.ProcessRowsError" ) ); Preconditions.checkNotNull( source ); Preconditions.checkNotNull( window ); try { source.open(); bufferStream().forEach( result -> { if ( result.isSafeStop() ) { getTrans().safeStop(); } putRows( result.getRows() ); } ); super.setOutputDone(); } finally { // Needed for when an Abort Step is used. source.close(); } return false; }
public boolean processRow( StepMetaInterface smi, StepDataInterface sdi ) throws KettleException { Result previousResult = getTrans().getPreviousResult(); if ( previousResult == null || getLinesRead() >= previousResult.getRows().size() ) { setOutputDone(); return false; } RowMetaAndData row = previousResult.getRows().get( (int) getLinesRead() ); incrementLinesRead(); data = (RowsFromResultData) sdi; // We don't get the meta-data from the previous steps (there aren't any) but from the previous transformation or job // data.outputRowMeta = row.getRowMeta(); // copy row to possible alternate rowset(s). // putRow( data.outputRowMeta, row.getData() ); if ( checkFeedback( getLinesRead() ) ) { if ( log.isBasic() ) { logBasic( BaseMessages.getString( PKG, "RowsFromResult.Log.LineNumber" ) + getLinesRead() ); } } return true; } }
/** * Add the numbers of lines from a different result to this result * * @param res * The Result object from which to add */ public void add( Result res ) { nrLinesInput += res.getNrLinesInput(); nrLinesOutput += res.getNrLinesOutput(); nrLinesRead += res.getNrLinesRead(); nrLinesWritten += res.getNrLinesWritten(); nrLinesUpdated += res.getNrLinesUpdated(); nrLinesRejected += res.getNrLinesRejected(); nrLinesDeleted += res.getNrLinesDeleted(); nrErrors += res.getNrErrors(); nrFilesRetrieved += res.getNrFilesRetrieved(); resultFiles.putAll( res.getResultFiles() ); logChannelId = res.getLogChannelId(); logText = res.getLogText(); rows.addAll( res.getRows() ); }
public Result execute( Result result, int nr ) throws KettleException { List<RowMetaAndData> resultRows = result.getRows();
new RowMetaAndData( rowMeta, "Pentaho", 4L ) ); Optional<Result> optionalResult = subtransExecutor.execute( rows ); assertEquals( 1, optionalResult.orElseThrow( AssertionError::new ).getRows().size() ); verify( this.logChannel ) .logBasic(
public Result execute( Result previousResult, int nr ) { List<RowMetaAndData> rows = result.getRows(); RowMetaAndData resultRow = null;
public Result execute( Result result, int nr ) throws KettleException { List<RowMetaAndData> rows = result.getRows(); RowMetaAndData resultRow = null;
result.getRows().addAll( rows );
public Result execute( Result previousResult, int nr ) { Result result = previousResult; List<RowMetaAndData> rows = result.getRows(); RowMetaAndData resultRow = null; result.setResult( false );
public Result execute( Result previousResult, int nr ) { Result result = previousResult; List<RowMetaAndData> rows = result.getRows(); RowMetaAndData resultRow = null;
List<RowMetaAndData> rows = result.getRows(); if ( isFilenamesFromPrevious() ) { if ( log.isDetailed() ) {
result.setResult( false ); List<RowMetaAndData> rows = result.getRows(); RowMetaAndData resultRow = null;
public Result execute( Result result, int nr ) throws KettleException { List<RowMetaAndData> rows = result.getRows();
result.setResult( false ); List<RowMetaAndData> rows = previousResult.getRows(); RowMetaAndData resultRow = null;
@Test public void collectsResultsFromInternalTransformation() throws Exception { prepareOneRowForExecutor(); RowMetaAndData expectedResult = new RowMetaAndData( new RowMeta(), "fake result" ); internalResult.getRows().add( expectedResult ); RowSet rowSet = new QueueRowSet(); // any value except null StepMeta stepMeta = mockStepAndMapItToRowSet( "stepMetaMock", rowSet ); meta.setOutputRowsSourceStepMeta( stepMeta ); executor.init( meta, data ); executor.setInputRowMeta( new RowMeta() ); assertTrue( "Passing one line at first time", executor.processRow( meta, data ) ); assertFalse( "Executing the internal trans during the second round", executor.processRow( meta, data ) ); Object[] resultsRow = rowSet.getRowImmediate(); assertNotNull( resultsRow ); assertArrayEquals( expectedResult.getData(), resultsRow ); assertNull( "Only one row is expected", rowSet.getRowImmediate() ); }
public Result execute( Result previousResult, int nr ) throws KettleException { Result result = previousResult; List<RowMetaAndData> rows = result.getRows(); RowMetaAndData resultRow = null;