diff --git a/src/main/java/com/olympus/hermione/controllers/ScenarioController.java b/src/main/java/com/olympus/hermione/controllers/ScenarioController.java index 5cc4e71..dee28b1 100644 --- a/src/main/java/com/olympus/hermione/controllers/ScenarioController.java +++ b/src/main/java/com/olympus/hermione/controllers/ScenarioController.java @@ -10,7 +10,9 @@ import org.springframework.web.bind.annotation.RestController; import com.olympus.hermione.dto.ScenarioExecutionInput; import com.olympus.hermione.dto.ScenarioOutput; import com.olympus.hermione.models.Scenario; +import com.olympus.hermione.models.ScenarioExecution; import com.olympus.hermione.repository.ScenarioRepository; +import com.olympus.hermione.repository.ScenarioExecutionRepository; import com.olympus.hermione.services.ScenarioExecutionService; import org.springframework.web.bind.annotation.RequestBody; @@ -23,6 +25,8 @@ public class ScenarioController { @Autowired ScenarioRepository scenarioRepository; @Autowired + ScenarioExecutionRepository scenarioExecutionRepository; + @Autowired ScenarioExecutionService scenarioExecutionService; @GetMapping("/scenarios") @@ -40,6 +44,10 @@ public class ScenarioController { return scenarioExecutionService.executeScenario(scenarioExecutionInput); } + @GetMapping("/scenarios/execute/{id}") + public ScenarioExecution getScenarioExecution(@PathVariable String id) { + return scenarioExecutionRepository.findById(id).get(); + } diff --git a/src/main/java/com/olympus/hermione/dto/ScenarioOutput.java b/src/main/java/com/olympus/hermione/dto/ScenarioOutput.java index 0b72dfe..351a7b3 100644 --- a/src/main/java/com/olympus/hermione/dto/ScenarioOutput.java +++ b/src/main/java/com/olympus/hermione/dto/ScenarioOutput.java @@ -1,5 +1,7 @@ package com.olympus.hermione.dto; +import com.olympus.hermione.models.ScenarioExecution; + import lombok.Getter; import lombok.Setter; @@ -7,6 +9,8 @@ import lombok.Setter; @Setter public class ScenarioOutput { private String stringOutput; + //private ScenarioExecution scenarioExecution; + private String scenarioExecution_id; private String status; private String message; } \ No newline at end of file diff --git a/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java b/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java index 2fb2f82..99d114a 100644 --- a/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java +++ b/src/main/java/com/olympus/hermione/services/ScenarioExecutionService.java @@ -110,12 +110,14 @@ public class ScenarioExecutionService { executeScenarioStep(step, scenarioExecution, step.getOrder()); } + scenarioOutput.setScenarioExecution_id(scenarioExecution.getId()); scenarioOutput.setStringOutput(scenarioExecution.getExecSharedMap().get("scenario_output").toString()); scenarioOutput.setStatus("OK"); return scenarioOutput; }else{ logger.error("Scenario not found with id: " + scenarioId); + scenarioOutput.setScenarioExecution_id(null); scenarioOutput.setStatus("ERROR"); scenarioOutput.setMessage("Scenario not found"); }