Class AzioneChiaveService

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

@Service public class AzioneChiaveService extends Object
Servizio per la gestione delle azioni chiave associate agli scenari. Fornisce funzionalità per recuperare, aggiornare ed eliminare le azioni chiave interagendo direttamente con il database.
Version:
1.0
Author:
Alessandro Zappatore
  • Constructor Details

    • AzioneChiaveService

      public AzioneChiaveService()
      Costruttore vuoto per il servizio AzioneChiaveService.
  • Method Details

    • getNomiAzioniChiaveByScenarioId

      public List<String> getNomiAzioniChiaveByScenarioId(Integer scenarioId)
      Recupera i nomi di tutte le azioni chiave associate a uno scenario specifico. La query recupera i nomi delle azioni chiave dalla tabella AzioniChiave tramite un'associazione con la tabella AzioneScenario basata sull'id_scenario.
      Parameters:
      scenarioId - L'ID dello scenario per il quale si desiderano recuperare le azioni chiave.
      Returns:
      Una List di String contenente i nomi delle azioni chiave. Restituisce una lista vuota se non vengono trovate azioni chiave o in caso di errore.
    • updateAzioniChiaveForScenario

      public boolean updateAzioniChiaveForScenario(Integer scenarioId, List<String> nomiAzioniDaSalvare)
      Aggiorna le azioni chiave associate a uno scenario specifico. Questo metodo gestisce la rimozione delle associazioni esistenti e l'inserimento di nuove associazioni. Se un'azione chiave non esiste già nel database, viene creata. L'operazione è transazionale.
      Parameters:
      scenarioId - L'ID dello scenario per il quale aggiornare le azioni chiave.
      nomiAzioniDaSalvare - Una List di String contenente i nomi delle azioni chiave da associare allo scenario. I nomi null o vuoti vengono ignorati.
      Returns:
      true se l'aggiornamento è stato completato con successo; false altrimenti.
    • deleteAzioneChiaveByName

      public void deleteAzioneChiaveByName(Integer scenarioId, String nome)
      Elimina un'azione chiave specifica e la sua associazione con un dato scenario. Se l'azione chiave non è più associata a nessun altro scenario dopo questa eliminazione, viene rimossa anche dalla tabella AzioniChiave. Questa operazione è transazionale.
      Parameters:
      scenarioId - L'ID dello scenario dal quale rimuovere l'associazione con l'azione chiave.
      nome - Il nome dell'azione chiave da eliminare l'associazione. Non deve essere null o vuoto.