Merged PR 4: updated step counter for user visualization while executing scenarios
updated step counter for user visualization while executing scenarios
This commit is contained in:
@@ -3,6 +3,8 @@ package com.olympus.hermione.services;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.OptionalInt;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.ai.azure.openai.AzureOpenAiChatModel;
|
||||
@@ -85,7 +87,7 @@ public class ScenarioExecutionService {
|
||||
public ScenarioOutput getExecutionProgress(String scenarioExecutionId){
|
||||
ScenarioOutput scenarioOutput = new ScenarioOutput();
|
||||
Optional<ScenarioExecution> o_scenarioExecution = scenarioExecutionRepository.findById(scenarioExecutionId);
|
||||
|
||||
|
||||
if(o_scenarioExecution.isPresent()){
|
||||
ScenarioExecution scenarioExecution = o_scenarioExecution.get();
|
||||
scenarioExecution.setCurrentStepId(scenarioExecution.getCurrentStepId());
|
||||
@@ -98,10 +100,16 @@ public class ScenarioExecutionService {
|
||||
}else{
|
||||
scenarioOutput.setScenarioExecution_id(scenarioExecution.getId());
|
||||
scenarioOutput.setStatus("IN_PROGRESS");
|
||||
scenarioOutput.setCurrentStepId(scenarioExecution.getCurrentStepId());
|
||||
scenarioOutput.setCurrentStepDescription(scenarioExecution.getCurrentStepDescription());
|
||||
if (scenarioOutput.getCurrentStepId() != null){
|
||||
scenarioOutput.setMessage("Executing "+scenarioOutput.getCurrentStepId()+"/"+scenarioExecution.getScenario().getSteps().size()+": "+scenarioOutput.getCurrentStepDescription()+".");
|
||||
|
||||
if (scenarioExecution.getCurrentStepId() != null){
|
||||
OptionalInt indexOpt = IntStream.range(0, scenarioExecution.getScenario().getSteps().size())
|
||||
.filter(i -> scenarioExecution.getScenario().getSteps().get(i).getStepId().equals(scenarioExecution.getCurrentStepId()))
|
||||
.map(i -> i + 1)
|
||||
.findFirst();
|
||||
|
||||
scenarioOutput.setCurrentStepId(scenarioExecution.getCurrentStepId());
|
||||
scenarioOutput.setCurrentStepDescription(scenarioExecution.getCurrentStepDescription());
|
||||
scenarioOutput.setMessage("Executing step "+indexOpt.getAsInt()+"/"+scenarioExecution.getScenario().getSteps().size()+": "+scenarioOutput.getCurrentStepDescription()+".");
|
||||
}else {
|
||||
scenarioOutput.setMessage("Starting execution...");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user