Class ScenarioService
java.lang.Object
it.uniupo.simnova.service.scenario.ScenarioService
Servizio per la gestione degli scenari.
 Fornisce metodi per recuperare, creare e aggiornare i dati degli scenari nel database.
 Questo servizio gestisce le operazioni CRUD di base per gli scenari, inclusa
 la determinazione del tipo di scenario (Quick, Advanced, Patient Simulated).
- Version:
- 1.0
- Author:
- Alessandro Zappatore
- 
Method SummaryModifier and TypeMethodDescriptionbooleanexistScenario(int scenarioId) Controlla se uno scenario esiste nel database in base al suo ID.Recupera una lista di tutti gli scenari presenti nel database.Recupera un oggettoScenariocompleto dal database utilizzando il suo identificativo.getScenarioType(int idScenario) Determina il tipo di scenario (Quick, Advanced, o Patient Simulated) in base alla sua presenza nelle tabelle specifiche (Scenario,AdvancedScenario,PatientSimulatedScenario).booleanisPediatric(int scenarioId) Verifica se uno scenario è di tipo "Pediatrico" basandosi sulla sua tipologia paziente.booleanisPresentInTable(int id, String tableName) Controlla se un dato ID è presente come chiave primaria in una tabella specificata.intstartQuickScenario(Integer scenarioId, String titolo, String nomePaziente, String patologia, String autori, float timerGenerale, String tipologia) Crea un nuovo scenario rapido o aggiorna uno esistente nel database.booleanupdateScenarioBriefing(int scenarioId, String briefing) Aggiorna il campobriefingdello scenario specificato.booleanupdateScenarioDescription(int scenarioId, String descrizione) Aggiorna il campodescrizionedello scenario specificato.booleanupdateScenarioGenitoriInfo(Integer scenarioId, String value) Aggiorna il campoinfo_genitoredello scenario specificato.booleanupdateScenarioLiquidi(int scenarioId, String liquidi) Aggiorna il campoliquididello scenario specificato.booleanupdateScenarioMoulage(int scenarioId, String moulage) Aggiorna il campomoulagedello scenario specificato.booleanupdateScenarioObiettiviDidattici(int scenarioId, String obiettivo) Aggiorna il campoobiettivo(obiettivi didattici) dello scenario specificato.booleanupdateScenarioPattoAula(int scenarioId, String patto_aula) Aggiorna il campopatto_auladello scenario specificato.booleanupdateScenarioTarget(Integer scenarioId, String target) Aggiorna il campotargetdello scenario specificato.voidupdateScenarioTitleAndAuthors(Integer scenarioId, String newTitle, String newAuthors) Aggiorna contemporaneamente il titolo e gli autori di uno scenario.voidupdateSingleField(int id, String label, String newValue) Aggiorna un singolo campo dello scenario, identificato da unlabellogico, con un nuovo valore.
- 
Method Details- 
getScenarioById
- 
getAllScenariosRecupera una lista di tutti gli scenari presenti nel database. Per motivi di performance e di visualizzazione, vengono recuperati solo i campi essenziali.
- 
startQuickScenariopublic int startQuickScenario(Integer scenarioId, String titolo, String nomePaziente, String patologia, String autori, float timerGenerale, String tipologia) Crea un nuovo scenario rapido o aggiorna uno esistente nel database. SescenarioIdènullo lo scenario non esiste, ne viene creato uno nuovo. Altrimenti, lo scenario esistente viene aggiornato.- Parameters:
- scenarioId- L'ID (- Integer) dello scenario da aggiornare. Se- null, un nuovo scenario sarà creato.
- titolo- Il titolo dello scenario.
- nomePaziente- Il nome del paziente associato.
- patologia- La patologia del paziente.
- autori- I nomi degli autori dello scenario.
- timerGenerale- Il timer generale preimpostato per lo scenario.
- tipologia- La tipologia del paziente (es. "Adulto", "Pediatrico").
- Returns:
- L'ID (int) dello scenario creato o aggiornato;-1in caso di errore.
 
- 
updateScenarioDescriptionAggiorna il campodescrizionedello scenario specificato.- Parameters:
- scenarioId- L'ID (- int) dello scenario da aggiornare.
- descrizione- La nuova descrizione (- String) da impostare.
- Returns:
- truese l'aggiornamento è avvenuto con successo;- falsealtrimenti.
 
- 
updateScenarioBriefingAggiorna il campobriefingdello scenario specificato.- Parameters:
- scenarioId- L'ID (- int) dello scenario da aggiornare.
- briefing- Il nuovo briefing (- String) da impostare.
- Returns:
- truese l'aggiornamento è avvenuto con successo;- falsealtrimenti.
 
- 
updateScenarioPattoAulaAggiorna il campopatto_auladello scenario specificato.- Parameters:
- scenarioId- L'ID (- int) dello scenario da aggiornare.
- patto_aula- Il nuovo patto aula (- String) da impostare.
- Returns:
- truese l'aggiornamento è avvenuto con successo;- falsealtrimenti.
 
- 
updateScenarioObiettiviDidatticiAggiorna il campoobiettivo(obiettivi didattici) dello scenario specificato.- Parameters:
- scenarioId- L'ID (- int) dello scenario da aggiornare.
- obiettivo- Il nuovo obiettivo didattico (- String) da impostare.
- Returns:
- truese l'aggiornamento è avvenuto con successo;- falsealtrimenti.
 
- 
updateScenarioMoulageAggiorna il campomoulagedello scenario specificato.- Parameters:
- scenarioId- L'ID (- int) dello scenario da aggiornare.
- moulage- Il nuovo moulage (- String) da impostare.
- Returns:
- truese l'aggiornamento è avvenuto con successo;- falsealtrimenti.
 
- 
updateScenarioLiquidiAggiorna il campoliquididello scenario specificato.- Parameters:
- scenarioId- L'ID (- int) dello scenario da aggiornare.
- liquidi- I nuovi liquidi (- String) da impostare.
- Returns:
- truese l'aggiornamento è avvenuto con successo;- falsealtrimenti.
 
- 
getScenarioTypeDetermina il tipo di scenario (Quick, Advanced, o Patient Simulated) in base alla sua presenza nelle tabelle specifiche (Scenario,AdvancedScenario,PatientSimulatedScenario).- Parameters:
- idScenario- L'ID (- int) dello scenario di cui determinare il tipo.
- Returns:
- Una Stringche rappresenta il tipo di scenario (es. "Quick Scenario", "Advanced Scenario", "Patient Simulated Scenario"). Restituisce "ScenarioNotFound" se l'ID non è presente in nessuna delle tabelle pertinenti.
 
- 
isPresentInTableControlla se un dato ID è presente come chiave primaria in una tabella specificata. Questo è un metodo generico per verificare l'esistenza di record nelle tabelle correlate allo scenario.- Parameters:
- id- L'ID (- int) da cercare.
- tableName- Il nome (- String) della tabella in cui cercare. I nomi delle tabelle supportati sono "Scenario", "AdvancedScenario", "PatientSimulatedScenario".
- Returns:
- truese l'ID è presente nella tabella;- falsealtrimenti o se il nome della tabella non è riconosciuto.
 
- 
existScenariopublic boolean existScenario(int scenarioId) Controlla se uno scenario esiste nel database in base al suo ID. Questo è un metodo di convenienza che chiamaisPresentInTable(int, String)per la tabellaScenario.- Parameters:
- scenarioId- L'ID (- int) dello scenario da verificare.
- Returns:
- truese lo scenario esiste;- falsealtrimenti.
 
- 
isPediatricpublic boolean isPediatric(int scenarioId) Verifica se uno scenario è di tipo "Pediatrico" basandosi sulla sua tipologia paziente.- Parameters:
- scenarioId- L'ID (- int) dello scenario da controllare.
- Returns:
- truese la tipologia paziente dello scenario è "Pediatrico" (case-insensitive);- falsealtrimenti.
 
- 
updateScenarioGenitoriInfoAggiorna il campoinfo_genitoredello scenario specificato. Questo campo contiene informazioni destinate ai genitori, ad esempio in scenari pediatrici.- Parameters:
- scenarioId- L'ID (- Integer) dello scenario da aggiornare.
- value- Il nuovo valore (- String) delle informazioni per i genitori.
- Returns:
- truese l'aggiornamento è avvenuto con successo;- falsealtrimenti.
 
- 
updateScenarioTargetAggiorna il campotargetdello scenario specificato. Questo campo indica il pubblico di riferimento o l'obiettivo generale dello scenario.- Parameters:
- scenarioId- L'ID (- Integer) dello scenario da aggiornare.
- target- Il nuovo valore (- String) per il target dello scenario.
- Returns:
- truese l'aggiornamento è avvenuto con successo;- falsealtrimenti.
 
- 
updateScenarioTitleAndAuthorsAggiorna contemporaneamente il titolo e gli autori di uno scenario.- Parameters:
- scenarioId- L'ID (- Integer) dello scenario da aggiornare.
- newTitle- Il nuovo titolo (- String) da impostare.
- newAuthors- I nuovi autori (- String) da impostare.
 
- 
updateSingleFieldAggiorna un singolo campo dello scenario, identificato da unlabellogico, con un nuovo valore. Ilabelvengono mappati ai nomi delle colonne del database.- Parameters:
- id- L'ID (- int) dello scenario da aggiornare.
- label- Il- labellogico del campo da aggiornare. I valori supportati sono:- "Paziente" (mappa a nome_paziente)
- "Patologia" (mappa a patologia)
- "Tipologia" (mappa a tipologia_paziente)
- "Durata" (mappa a timer_generale)
 
- "Paziente" (mappa a 
- newValue- Il nuovo valore (- String) da impostare per il campo. Per il campo "Durata", il valore sarà convertito in un tipo numerico appropriato dal database.
- Throws:
- IllegalArgumentException- se il- labelfornito non è riconosciuto.
 
 
-