本文整理汇总了Java中org.pentaho.di.trans.Trans.getSteps方法的典型用法代码示例。如果您正苦于以下问题:Java Trans.getSteps方法的具体用法?Java Trans.getSteps怎么用?Java Trans.getSteps使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.pentaho.di.trans.Trans
的用法示例。
在下文中一共展示了Trans.getSteps方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: executeTransformation
import org.pentaho.di.trans.Trans; //导入方法依赖的package包/类
public Map<String, Object> executeTransformation(String ktrPath) {
Map<String, Object> executionResult = new HashMap<String, Object>();
try {
KettleEnvironment.init();
EnvUtil.environmentInit();
TransMeta transMeta = new TransMeta(ktrPath);
List<DatabaseMeta> dbMetaList = transMeta.getDatabases();
for (DatabaseMeta dbMeta : dbMetaList) {
if (dbMeta.getName().equals(this.connectionName)) {
dbMeta.setHostname(this.dbHostName);
dbMeta.setUsername(this.dbUerName);
dbMeta.setPassword(this.dbPassword);
dbMeta.setDBPort(this.dbPort);
dbMeta.setDBName(this.dbName);
}
}
Trans transformation = new Trans(transMeta);
if (this.parameters != null) {
for (Map.Entry<String, String> entry : this.parameters.entrySet()) {
transformation.setParameterValue((String) entry.getKey(), (String) entry.getValue());
}
}
transformation.execute(null);
transformation.waitUntilFinished();
for (StepMetaDataCombi combi : transformation.getSteps()) {
StepDTO stepDTO = new StepDTO();
stepDTO.setStepName(combi.step.getStepname());
stepDTO.setLinesInput(Long.valueOf(combi.step.getLinesInput()));
stepDTO.setLinesOutput(Long.valueOf(combi.step.getLinesOutput()));
stepDTO.setLinesRead(Long.valueOf(combi.step.getLinesRead()));
stepDTO.setLinesRejected(Long.valueOf(combi.step.getLinesRejected()));
stepDTO.setLinesUpdated(Long.valueOf(combi.step.getLinesUpdated()));
stepDTO.setStepDestinationNameList(new ArrayList<String>());
for (RowSet rowSet : combi.step.getOutputRowSets()) {
stepDTO.getStepDestinationNameList().add(rowSet.getDestinationStepName());
}
this.getStepDTOList().add(stepDTO);
}
if (transformation.getErrors() > 0) {
System.out.println("Erroruting Transformation");
executionResult.put("transformationExecuted", false);
return executionResult;
} else {
executionResult.put("transformationExecuted", true);
return executionResult;
}
} catch (Exception e) {
e.printStackTrace();
executionResult.put("transformationExecuted", false);
return executionResult;
}
}
示例2: injectDataSetIntoStep
import org.pentaho.di.trans.Trans; //导入方法依赖的package包/类
private void injectDataSetIntoStep( final Trans trans, final TransMeta transMeta,
final String dataSetName, final MetaStoreFactory<DataSet> dataSetFactory,
final Repository repository, final IMetaStore metaStore, final StepMeta stepMeta,
TransUnitTestSetLocation inputLocation ) throws MetaStoreException, KettleException {
final DataSet dataSet = dataSetFactory.loadElement( dataSetName );
final DataSetGroup group = dataSet.getGroup();
final Database database = new Database( trans, group.getDatabaseMeta() );
final LogChannelInterface log = trans.getLogChannel();
final RowMetaInterface injectRowMeta = DataSetConst.getStepOutputFields(log, transMeta, stepMeta, dataSet, inputLocation);
final RowProducer rowProducer = trans.addRowProducer( stepMeta.getName(), 0 );
// Look for the step into which we'll inject rows...
//
StepMetaDataCombi combi = null;
for ( StepMetaDataCombi step : trans.getSteps() ) {
if ( step.stepname.equals( stepMeta.getName() ) ) {
combi = step;
break;
}
}
if ( combi != null ) {
log.logBasic( "Injecting data set '" + dataSetName + "' into step '" + stepMeta.getName() + "', fields: "+injectRowMeta.toStringMeta() );
final List<Object[]> rows = dataSet.getAllRows(log, inputLocation, injectRowMeta);
// Pass rows
try {
Runnable runnable = new Runnable() {
@Override
public void run() {
try {
for( Object[] row : rows ) {
// pass the row with the external names
//
rowProducer.putRow( injectRowMeta, row );
}
rowProducer.finished();
} catch ( Exception e ) {
throw new RuntimeException( "Problem injecting data set '" + dataSetName + "' row into step '" + stepMeta.getName() + "'", e );
}
}
};
Thread thread = new Thread( runnable );
thread.start();
} finally {
database.disconnect();
}
}
}