RE Single Class picklist RE scenarios

This commit is contained in:
Florinda
2024-12-17 11:13:08 +01:00
parent 48880b254c
commit 1b21a4dd27
4 changed files with 35 additions and 1 deletions

View File

@@ -100,6 +100,11 @@ public class ScenarioController {
public List<ScenarioExecution> getScenarioByUser() {
return scenarioExecutionService.getListExecutionScenarioByUser();
}
@GetMapping("/getScenariosForRE")
public List<Scenario> getScenariosForRE() {
return scenarioService.getListScenariosForRE();
}

View File

@@ -25,7 +25,7 @@ public class Scenario {
private List<ScenarioStep> steps;
private List<ScenarioInputs> inputs;
private String visible;
private String category;
@DocumentReference
private List<Project> availableForProjects;

View File

@@ -27,4 +27,12 @@ public interface ScenarioRepository extends MongoRepository<Scenario, String> {
List<Scenario> findByAvailableForProjectsIsNullAndAvailableForApplicationsIsNullAndVisible(String visible);
@Query("{ 'visible': 'Y', 'category': 'RE', " +
" $or: [ " +
" { 'availableForProjects': ObjectId(?0) }, " +
" { 'availableForApplications': ObjectId(?1) } " +
" ] " +
"}")
List<Scenario> findByVisibleAndCategoryAndProjectOrApplication(String projectId, String applicationId);
}

View File

@@ -12,6 +12,7 @@ import com.olympus.hermione.repository.ScenarioRepository;
import com.olympus.hermione.security.entity.User;
import com.olympus.model.Project;
import java.util.ArrayList;
import java.util.List;
import org.bson.types.ObjectId;
@@ -64,4 +65,24 @@ public class ScenarioService {
return lstScenarios;
}
public List<Scenario> getListScenariosForRE(){
logger.info("getListProjectByUser function:");
List<Scenario> lstScenarios = new ArrayList<Scenario>();
Scenario scenarioDefault = new Scenario();
scenarioDefault.setName("Default");
scenarioDefault.setId("");
try{
User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
lstScenarios = scenarioRepo.findByVisibleAndCategoryAndProjectOrApplication(user.getSelectedProject().getId(), user.getSelectedApplication().getId());
lstScenarios.add(scenarioDefault);
}catch(Exception e){
logger.error("Exception ScenarioRepository:", e.getMessage());
}
logger.info("getListProjectByUser function:");
return lstScenarios;
}
}