Optimization Server - Run Python Engine Task using a Dataframe

This task runs the Python engine task using a dataframe in the Optimization server.

    @Bean
    public ScriptedTaskDescription pythonEngineDataframeTask() {
        ScriptedTaskDescription task = new ScriptedTaskDescription("PythonEngineDataframeTask", "Optimization server - Run Python Engine task using dataframe");
        task.setDescription("Run the Python engine task using dataframes 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("PythonEngineDataframeTask"))
                .withInput(INPUT_COLLECTOR, ScenarioDataExpression.of(scenario))
                .withOutputScenario(OUTPUT_COLLECTOR, scenario,
                    StringExpression.of("GeneIssue"))
            );
        return task;
    }