use of com.walmartlabs.concord.svm.Command in project concord by walmartlabs.
the class GroupOfStepsCompiler method compile.
@Override
public Command compile(CompilerContext context, GroupOfSteps step) {
Command cmd = compile(context, step.getSteps());
GroupOfStepsOptions options = Objects.requireNonNull(step.getOptions());
WithItems withItems = options.withItems();
if (withItems != null) {
return WithItemsWrapper.of(cmd, withItems, options.out(), Collections.emptyMap());
}
Loop loop = options.loop();
if (loop != null) {
cmd = LoopWrapper.of(context, cmd, loop, options.out(), Collections.emptyMap());
}
List<Step> errorSteps = options.errorSteps();
if (!options.errorSteps().isEmpty()) {
cmd = new ErrorWrapper(cmd, compile(context, errorSteps));
}
return cmd;
}
Aggregations