package org.ovirt.engine.core.bll;
import java.util.List;
import org.ovirt.engine.core.bll.context.CommandContext;
import org.ovirt.engine.core.common.action.VdcActionParametersBase;
import org.ovirt.engine.core.common.action.VdcActionType;
import org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil;
public class ParallelMultipleActionsRunner extends PrevalidatingMultipleActionsRunner {
public ParallelMultipleActionsRunner(VdcActionType actionType,
List<VdcActionParametersBase> parameters,
CommandContext commandContext, boolean isInternal) {
super(actionType, parameters, commandContext, isInternal);
}
@Override
protected void invokeCommands() {
runCommands();
}
@Override
protected void runCommands() {
for (final CommandBase<?> command : getCommands()) {
if (command.getReturnValue().isValid()) {
ThreadPoolUtil.execute(() -> executeValidatedCommand(command));
}
}
}
}