Kettle代碼解析
1.添加字段
/**
* Adds <code>String</code> value meta with given name if not present and returns index
*
* @param rowMeta
* @param fieldName
* @return Index in row meta of value meta with <code>fieldName</code>
*/
public static int addValueMeta( String stepName, RowMetaInterface rowMeta, String fieldName ) {
ValueMetaInterface valueMeta = new ValueMetaString( fieldName );
valueMeta.setOrigin( stepName );
// add if doesn't exist
int index = -1;
if ( !rowMeta.exists( valueMeta ) ) {
index = rowMeta.size();
rowMeta.addValueMeta( valueMeta );
} else {
index = rowMeta.indexOfValue( fieldName );
}
return index;
}