private List<StepMetaDataCombi> opsToSteps( Transformation transformation ) {
Map<Operation, StepMetaDataCombi> operationToCombi = transformation.getOperations().stream()
.collect( toMap( Function.identity(),
op -> {
StepMetaDataCombi combi = new StepMetaDataCombi();
combi.stepMeta = StepMeta.fromXml( (String) op.getConfig().get( TransMetaConverter.STEP_META_CONF_KEY ) );
try {
combi.data = new StepDataInterfaceWebSocketEngineAdapter( op, messageEventService );
List<StepMetaDataCombi> subSteps = getSubSteps( transformation, combi );
combi.step = new StepInterfaceWebSocketEngineAdapter(
op, messageEventService, combi.stepMeta, transMeta, combi.data, this, subSteps );
} catch ( KettleException e ) {
e.printStackTrace();
}
combi.meta = combi.stepMeta.getStepMetaInterface();
combi.stepname = combi.stepMeta.getName();
return combi;
} ) );
return new ArrayList<>( operationToCombi.values() );
}