Duplicate Scenario
This task duplicates the selected scenario.
@Bean
public ScriptedTaskDescription duplicateScenarioTask() {
ScriptedTaskDescription task = new ScriptedTaskDescription("DuplicateScenarioTask", "Duplicate Scenario");
task.setDescription("Duplicate the selected scenario");
setI18nKeys(task, "DUPLICATE_SCENARIO");
var scenario = VariableAccessExpression.ofScenario();
var newScenarioName = VariableAccessExpression.of("New scenario name");
var duplicateVisibleScenarios = VariableAccessExpression.of("Duplicate visible scenarios");
var newScenarioIds = VariableAccessExpression.of("Created scenario IDs");
task.getScript()
.addStatement(AskInputStatement.ofVariable(scenario, true, JobInputType.SCENARIO_ID))
.addStatement(AskInputStatement.ofVariable(newScenarioName,false, ParameterTypes.TEXT))
.addStatement(AskInputStatement.ofVariable(duplicateVisibleScenarios,false, ParameterTypes.BOOLEAN))
.addStatement(ExecuteRoutineStatement
.of(StringExpression.of("com.decisionbrain.gene.DuplicateScenarioRoutine"))
.withInput(scenario)
.withInput(newScenarioName)
.withInput(duplicateVisibleScenarios)
.withOutput("new-scenario-ids", newScenarioIds.getVariableName())
)
.addStatement(SetTaskOutputStatement.of("New Scenario IDs", newScenarioIds));
return task;
}