@Override public void getFields( RowMetaInterface row, String origin, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { if ( !keepInputFields ) { row.clear(); } if ( ruleResultColumns != null ) { for ( int i = 0; i < ruleResultColumns.size(); i++ ) { ruleResultColumns.get( i ).setOrigin( origin ); row.addValueMeta( ruleResultColumns.get( i ) ); } } }
@Override public void getFields( RowMetaInterface row, String origin, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { if ( !keepInputFields ) { row.clear(); } if ( ruleResultColumns != null ) { for ( int i = 0; i < ruleResultColumns.size(); i++ ) { ruleResultColumns.get( i ).setOrigin( origin ); row.addValueMeta( ruleResultColumns.get( i ) ); } } }
@Override public void getFields( RowMetaInterface row, String origin, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { row.clear(); for ( int i = 0; i < m_stats.length; i++ ) { UnivariateStatsMetaFunction fn = m_stats[i]; ValueMetaInterface[] vmis = getValueMetas( fn, origin ); for ( int j = 0; j < vmis.length; j++ ) { row.addValueMeta( vmis[j] ); } } }
@Override public void getFields( RowMetaInterface inputRowMeta, String name, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { if ( nextStep != null ) { if ( nextStep.equals( executionResultTargetStepMeta ) ) { inputRowMeta.clear(); prepareExecutionResultsFields( inputRowMeta, nextStep ); } else if ( nextStep.equals( resultFilesTargetStepMeta ) ) { inputRowMeta.clear(); prepareExecutionResultsFileFields( inputRowMeta, nextStep ); } else if ( nextStep.equals( outputRowsSourceStepMeta ) ) { inputRowMeta.clear(); prepareResultsRowsFields( inputRowMeta ); } // else don't call clear on inputRowMeta, it's the main output and should mimic the input } }
@Override public Object answer( InvocationOnMock invocation ) throws Throwable { RowMetaInterface rmi = (RowMetaInterface) invocation.getArguments()[ 0 ]; rmi.clear(); rmi.addValueMeta( new ValueMetaString( overriddenValue ) ); return null; } } ).when( smi ).getFields(
@Override public void getFields( RowMetaInterface r, String origin, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) { // clear the output r.clear(); // append the outputFields to the output for ( int i = 0; i < outputField.length; i++ ) { ValueMetaInterface v; try { v = ValueMetaFactory.createValueMeta( outputField[ i ], outputType[ i ] ); } catch ( KettlePluginException e ) { v = new ValueMetaString( outputField[ i ] ); } // that would influence the output // v.setConversionMask(conversionMask[i]); v.setOrigin( origin ); r.addValueMeta( v ); } }
@Override public void getFields( RowMetaInterface rowMeta, String origin, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { rowMeta.clear(); // No defined output is expected from this step. if ( !Utils.isEmpty( sourceStepName ) ) { for ( MetaInjectOutputField field : sourceOutputFields ) { try { rowMeta.addValueMeta( field.createValueMeta() ); } catch ( KettlePluginException e ) { throw new KettleStepException( "Error creating value meta for output field '" + field.getName() + "'", e ); } } } }
@Override public void getFields( RowMetaInterface inputRowMeta, String name, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { try { RowMetaInterface rowMeta = inputRowMeta.clone(); inputRowMeta.clear(); inputRowMeta.addRowMeta( rowMeta ); getSelectFields( inputRowMeta, name ); getDeleteFields( inputRowMeta ); getMetadataFields( inputRowMeta, name ); } catch ( Exception e ) { throw new KettleStepException( e ); } }
public void getFields( RowMetaInterface row, String origin, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { row.clear(); // TODO: add an option to also include the input data... for ( SapOutputField field : outputFields ) { try { ValueMetaInterface valueMeta = ValueMetaFactory.createValueMeta( field.getNewName(), field.getTargetType() ); valueMeta.setOrigin( origin ); row.addValueMeta( valueMeta ); } catch ( Exception e ) { throw new KettleStepException( e ); } } }
@SuppressWarnings( "unchecked" ) public static void getFields( boolean clearResultFields, RowMetaInterface row, String originStepname, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, List<?> fields ) throws KettleStepException { if ( clearResultFields ) { row.clear(); } for ( FieldInfo fi : (List<FieldInfo>) fields ) { try { ValueMetaInterface v = ValueMetaFactory.createValueMeta( fi.name, fi.type ); v.setLength( fi.length ); v.setPrecision( fi.precision ); v.setOrigin( originStepname ); row.addValueMeta( v ); } catch ( Exception e ) { throw new KettleStepException( e ); } } }
@Test public void getFieldsWithoutSubject() { ValueMetaDate valueMeta = new ValueMetaDate(); valueMeta.setName( "date" ); doReturn( valueMeta ).when( rowMeta ).searchValueMeta( "date" ); memoryGroupByMeta.setSubjectField( new String[] { null } ); memoryGroupByMeta.setGroupField( new String[] { "date" } ); memoryGroupByMeta.setAggregateField( new String[] { "countDate" } ); memoryGroupByMeta.setAggregateType( new int[] { TYPE_GROUP_COUNT_ANY } ); memoryGroupByMeta.getFields( rowMeta, "Group by", mockInfo, mockNextStep, mockSpace, null, mockIMetaStore ); verify( rowMeta, times( 1 ) ).clear(); verify( rowMeta, times( 1 ) ).addRowMeta( any() ); assertNotNull( rowMeta.searchValueMeta( "countDate" ) ); } }
@Test public void getFieldsWithSubject_NoFormat() { ValueMetaDate valueMeta = new ValueMetaDate(); valueMeta.setName( "date" ); doReturn( valueMeta ).when( rowMeta ).searchValueMeta( "date" ); memoryGroupByMeta.setSubjectField( new String[] { "date" } ); memoryGroupByMeta.setGroupField( new String[] {} ); memoryGroupByMeta.setAggregateField( new String[] { "minDate" } ); memoryGroupByMeta.setAggregateType( new int[] { TYPE_GROUP_MIN } ); memoryGroupByMeta.getFields( rowMeta, "Group by", mockInfo, mockNextStep, mockSpace, null, mockIMetaStore ); verify( rowMeta, times( 1 ) ).clear(); verify( rowMeta, times( 1 ) ).addRowMeta( any() ); assertEquals( null, rowMeta.searchValueMeta( "minDate" ).getConversionMask() ); }
public void getFields( RowMetaInterface row, String origin, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { // First load some interesting data... // // Then see which fields get added to the row. // TransMeta mappingTransMeta = null; try { mappingTransMeta = loadSingleThreadedTransMeta( this, repository, space ); } catch ( KettleException e ) { throw new KettleStepException( BaseMessages.getString( PKG, "SingleThreaderMeta.Exception.UnableToLoadMappingTransformation" ), e ); } row.clear(); // Let's keep it simple! // if ( !Utils.isEmpty( space.environmentSubstitute( retrieveStep ) ) ) { RowMetaInterface stepFields = mappingTransMeta.getStepFields( retrieveStep ); row.addRowMeta( stepFields ); } }
@Test public void getFieldsWithoutSubject() { ValueMetaDate valueMeta = new ValueMetaDate(); valueMeta.setName( "date" ); doReturn( valueMeta ).when( rowMeta ).searchValueMeta( "date" ); groupByMeta.setSubjectField( new String[] { null } ); groupByMeta.setGroupField( new String[] { "date" } ); groupByMeta.setAggregateField( new String[] { "countDate" } ); groupByMeta.setAggregateType( new int[] { TYPE_GROUP_COUNT_ANY } ); groupByMeta.getFields( rowMeta, "Group by", mockInfo, mockNextStep, mockSpace, null, mockIMetaStore ); verify( rowMeta, times( 1 ) ).clear(); verify( rowMeta, times( 1 ) ).addRowMeta( any() ); assertNotNull( rowMeta.searchValueMeta( "countDate" ) ); } }
@Test public void getFieldsWithSubject_NoFormat() { ValueMetaDate valueMeta = new ValueMetaDate(); valueMeta.setName( "date" ); doReturn( valueMeta ).when( rowMeta ).searchValueMeta( "date" ); groupByMeta.setSubjectField( new String[] { "date" } ); groupByMeta.setGroupField( new String[] {} ); groupByMeta.setAggregateField( new String[] { "minDate" } ); groupByMeta.setAggregateType( new int[] { TYPE_GROUP_MIN } ); groupByMeta.getFields( rowMeta, "Group by", mockInfo, mockNextStep, mockSpace, null, mockIMetaStore ); verify( rowMeta, times( 1 ) ).clear(); verify( rowMeta, times( 1 ) ).addRowMeta( any() ); assertEquals( null, rowMeta.searchValueMeta( "minDate" ).getConversionMask() ); }
@Test public void getFieldsWithSubject_WithFormat() { ValueMetaDate valueMeta = new ValueMetaDate(); valueMeta.setConversionMask( "yyyy-MM-dd" ); valueMeta.setName( "date" ); doReturn( valueMeta ).when( rowMeta ).searchValueMeta( "date" ); groupByMeta.setSubjectField( new String[] { "date" } ); groupByMeta.setGroupField( new String[] {} ); groupByMeta.setAggregateField( new String[] { "maxDate" } ); groupByMeta.setAggregateType( new int[] { TYPE_GROUP_MAX } ); groupByMeta.getFields( rowMeta, "Group by", mockInfo, mockNextStep, mockSpace, null, mockIMetaStore ); verify( rowMeta, times( 1 ) ).clear(); verify( rowMeta, times( 1 ) ).addRowMeta( any() ); assertEquals( "yyyy-MM-dd", rowMeta.searchValueMeta( "maxDate" ).getConversionMask() ); }
@Test public void getFieldsWithSubject_WithFormat() { ValueMetaDate valueMeta = new ValueMetaDate(); valueMeta.setConversionMask( "yyyy-MM-dd" ); valueMeta.setName( "date" ); doReturn( valueMeta ).when( rowMeta ).searchValueMeta( "date" ); memoryGroupByMeta.setSubjectField( new String[] { "date" } ); memoryGroupByMeta.setGroupField( new String[] {} ); memoryGroupByMeta.setAggregateField( new String[] { "maxDate" } ); memoryGroupByMeta.setAggregateType( new int[] { TYPE_GROUP_MAX } ); memoryGroupByMeta.getFields( rowMeta, "Memory Group by", mockInfo, mockNextStep, mockSpace, null, mockIMetaStore ); verify( rowMeta, times( 1 ) ).clear(); verify( rowMeta, times( 1 ) ).addRowMeta( any() ); assertEquals( "yyyy-MM-dd", rowMeta.searchValueMeta( "maxDate" ).getConversionMask() ); }
@Override public void getFields( RowMetaInterface rowMeta, String origin, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { if ( space instanceof TransMeta ) { TransMeta transMeta = (TransMeta) space; StepMeta[] steps = transMeta.getPrevSteps( transMeta.findStep( origin ) ); StepMeta mainStep = transMeta.findStep( getMainStepname() ); rowMeta.clear(); if ( mainStep != null ) { rowMeta.addRowMeta( transMeta.getStepFields( mainStep ) ); } for ( StepMeta step : steps ) { if ( mainStep == null || !step.equals( mainStep ) ) { rowMeta.addRowMeta( transMeta.getStepFields( step ) ); } } } }
@Override public void getFields( RowMetaInterface r, String name, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { // Input rows and output rows are different in the webservice step // if ( !isPassingInputData() ) { r.clear(); } // Add the output fields... // for ( WebServiceField field : getFieldsOut() ) { int valueType = field.getType(); // If the type is unrecognized we give back the XML as a String... // if ( field.getType() == ValueMetaInterface.TYPE_NONE ) { valueType = ValueMetaInterface.TYPE_STRING; } try { ValueMetaInterface vValue = ValueMetaFactory.createValueMeta( field.getName(), valueType ); vValue.setOrigin( name ); r.addValueMeta( vValue ); } catch ( Exception e ) { throw new KettleStepException( e ); } } }
@Override public void getFields( RowMetaInterface row, String name, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { if ( !isDynamicCommand() ) { row.clear(); } ValueMetaInterface v = new ValueMetaString( space.environmentSubstitute( getStdOutFieldName() ) ); v.setOrigin( name ); row.addValueMeta( v ); String stderrfield = space.environmentSubstitute( getStdErrFieldName() ); if ( !Utils.isEmpty( stderrfield ) ) { v = new ValueMetaBoolean( stderrfield ); v.setOrigin( name ); row.addValueMeta( v ); } }