Optimization Server - Run Engine Task

This task runs the engine task in the Optimization server.

    @Bean
    public ScriptedTaskDescription engineTask() {
        ScriptedTaskDescription task = new ScriptedTaskDescription("EngineTask", "Optimization server - Run Engine task");
        task.setDescription("Run the engine task in the Optimization server");

        VariableAccessExpression scenario = VariableAccessExpression.of(SCENARIO);

        task.getScript()
            .addStatement(AskInputStatement.of(scenario.getVariableName(), true, JobInputType.scenarioId(WRITABLE)))
            .addStatement(ExecuteOptimizationServerTaskStatement
                .forTaskId(StringExpression.of("EngineTask"))
                .withInput(INPUT_COLLECTOR, ScenarioDataExpression.of(scenario))
                .withOutputScenario(OUTPUT_COLLECTOR, scenario)
            );
        return task;
    }