public void putRowImpl( RowMetaInterface row, Object[] data ) throws KettleStepException { super.putRow( row, data ); }
@Test public void putRowWithRowHandler() throws KettleException { BaseStep baseStep = new BaseStep( mockHelper.stepMeta, mockHelper.stepDataInterface, 0, mockHelper.transMeta, mockHelper.trans ); baseStep.setRowHandler( rowHandler ); RowMetaInterface rowMetaInterface = mock( RowMetaInterface.class ); Object[] objects = new Object[] { "foo", "bar" }; baseStep.putRow( rowMetaInterface, objects ); verify( rowHandler, times( 1 ) ).putRow( rowMetaInterface, objects ); }
@Test public void notEmptyFieldName() throws KettleStepException { BaseStep baseStep = new BaseStep( mockHelper.stepMeta, mockHelper.stepDataInterface, 0, mockHelper.transMeta, mockHelper.trans ); baseStep.setRowHandler( rowHandler ); RowMetaInterface rowMeta = new RowMeta(); rowMeta.addValueMeta( new ValueMetaBase( "name", ValueMetaInterface.TYPE_INTEGER ) ); baseStep.putRow( rowMeta, new Object[] { 0 } ); }
@Test( expected = KettleStepException.class ) public void nullFieldName() throws KettleStepException { BaseStep baseStep = new BaseStep( mockHelper.stepMeta, mockHelper.stepDataInterface, 0, mockHelper.transMeta, mockHelper.trans ); baseStep.setRowHandler( rowHandler ); RowMetaInterface rowMeta = new RowMeta(); rowMeta.addValueMeta( new ValueMetaBase( null, ValueMetaInterface.TYPE_INTEGER ) ); baseStep.putRow( rowMeta, new Object[] { 0 } ); }
@Test( expected = KettleStepException.class ) public void emptyFieldName() throws KettleStepException { BaseStep baseStep = new BaseStep( mockHelper.stepMeta, mockHelper.stepDataInterface, 0, mockHelper.transMeta, mockHelper.trans ); baseStep.setRowHandler( rowHandler ); RowMetaInterface rowMeta = new RowMeta(); rowMeta.addValueMeta( new ValueMetaBase( "", ValueMetaInterface.TYPE_INTEGER ) ); baseStep.putRow( rowMeta, new Object[] { 0 } ); }
@Test( expected = KettleStepException.class ) public void blankFieldName() throws KettleStepException { BaseStep baseStep = new BaseStep( mockHelper.stepMeta, mockHelper.stepDataInterface, 0, mockHelper.transMeta, mockHelper.trans ); baseStep.setRowHandler( rowHandler ); RowMetaInterface rowMeta = new RowMeta(); rowMeta.addValueMeta( new ValueMetaBase( " ", ValueMetaInterface.TYPE_INTEGER ) ); baseStep.putRow( rowMeta, new Object[] { 0 } ); }
@Test public void outputRowMetasAreNotSharedAmongSeveralStreams() throws Exception { RowSet rs1 = new SingleRowRowSet(); RowSet rs2 = new SingleRowRowSet(); when( mockHelper.trans.isRunning() ).thenReturn( true ); BaseStep baseStep = new BaseStep( mockHelper.stepMeta, mockHelper.stepDataInterface, 0, mockHelper.transMeta, mockHelper.trans ); baseStep.setStopped( false ); baseStep.setRepartitioning( StepPartitioningMeta.PARTITIONING_METHOD_NONE ); baseStep.setOutputRowSets( Arrays.asList( rs1, rs2 ) ); for ( RowSet rowSet : baseStep.getOutputRowSets() ) { assertNull( "RowMeta should be null, since no calls were done", rowSet.getRowMeta() ); } RowMetaInterface rowMeta = new RowMeta(); rowMeta.addValueMeta( new ValueMetaString( "string" ) ); rowMeta.addValueMeta( new ValueMetaInteger( "integer" ) ); baseStep.putRow( rowMeta, new Object[] { "a", 1 } ); RowMetaInterface meta1 = rs1.getRowMeta(); RowMetaInterface meta2 = rs2.getRowMeta(); assertNotNull( meta1 ); assertNotNull( meta2 ); // content is same for ( ValueMetaInterface meta : meta1.getValueMetaList() ) { assertTrue( meta.getName(), meta2.exists( meta ) ); } // whereas instances differ assertFalse( meta1 == meta2 ); }
public void write(IRubyObject rubyOut) throws KettleException { Object[] r = new Object[rowSize]; rowList.clear(); model.fetchRowsFromScriptOutput(rubyOut, inRow, r, rowList, data.outputRowMeta.getValueMetaList(), data.outputRowMeta); for (Object[] outRow : rowList) { step.putRow(data.outputRowMeta, outRow); } }