Class PresidiService

java.lang.Object
it.uniupo.simnova.service.scenario.components.PresidiService

@Service public class PresidiService extends Object
Servizio per la gestione dei presidi associati agli scenari. Questo servizio permette di recuperare, salvare e gestire le associazioni tra scenari e presidi.
Version:
1.0
Author:
Alessandro Zappatore
  • Method Details

    • getAllPresidi

      public static List<String> getAllPresidi()
      Recupera una lista di tutti i nomi dei presidi disponibili nel database.
      Returns:
      Una List di String contenente i nomi di tutti i presidi. Restituisce una lista vuota in caso di errore o se non sono presenti presidi.
    • getPresidiByScenarioId

      public static List<String> getPresidiByScenarioId(Integer scenarioId)
      Recupera i nomi dei presidi specifici associati a un dato scenario. La query esegue un JOIN tra le tabelle Presidi e PresidioScenario per filtrare i presidi in base all'id_scenario.
      Parameters:
      scenarioId - L'ID dello scenario per il quale si desiderano recuperare i presidi.
      Returns:
      Una List di String contenente i nomi dei presidi associati allo scenario. Restituisce una lista vuota in caso di errore o se non ci sono presidi associati.
    • getPresidiId

      public Integer getPresidiId(String presidio)
      Recupera l'ID di un presidio dal database in base al suo nome.
      Parameters:
      presidio - Il nome del presidio di cui si vuole ottenere l'ID.
      Returns:
      L'ID (Integer) del presidio se trovato; null altrimenti o in caso di errore.
    • savePresidi

      public boolean savePresidi(Integer scenarioId, Set<String> value)
      Salva o aggiorna le associazioni dei presidi per uno scenario specifico. Questa operazione prima elimina tutte le associazioni esistenti per lo scenario, quindi inserisce le nuove associazioni basate sul set di nomi di presidi fornito.
      Parameters:
      scenarioId - L'ID dello scenario a cui i presidi devono essere associati.
      value - Un Set di String contenente i nomi dei presidi da associare. Solo i presidi i cui nomi corrispondono a presidi esistenti nel database verranno associati.
      Returns:
      true se l'operazione di salvataggio/aggiornamento รจ riuscita per tutti i presidi; false altrimenti.