Class ScenarioImportService
java.lang.Object
it.uniupo.simnova.service.scenario.operations.ScenarioImportService
Servizio per l'importazione di scenari da file JSON o ZIP.
 Questo servizio gestisce la creazione di nuovi scenari a partire da dati strutturati,
 sia da file JSON contenenti la sola definizione dello scenario, sia da archivi ZIP
 che includono il JSON e i relativi file multimediali (esami, referti).
- Version:
- 1.0
- Author:
- Alessandro Zappatore
- 
Constructor SummaryConstructorsConstructorDescriptionScenarioImportService(ScenarioService scenarioService, EsameFisicoService esameFisicoService, PazienteT0Service pazienteT0Service, EsameRefertoService esameRefertoService, AdvancedScenarioService advancedScenarioService, PatientSimulatedScenarioService patientSimulatedScenarioService, MaterialeService materialeService, PresidiService presidiService, AzioneChiaveService azioneChiaveService, UnZipScenarioService unZipScenarioService, FileStorageService fileStorageService) Costruisce una nuova istanza diScenarioImportService.
- 
Method SummaryModifier and TypeMethodDescriptionbooleancreateScenarioByJSON(byte[] jsonFile) Crea un nuovo scenario nel database a partire da un file JSON.booleanimportScenarioFromZip(byte[] zipBytes, String fileName) Importa uno scenario da un file ZIP.
- 
Constructor Details- 
ScenarioImportServicepublic ScenarioImportService(ScenarioService scenarioService, EsameFisicoService esameFisicoService, PazienteT0Service pazienteT0Service, EsameRefertoService esameRefertoService, AdvancedScenarioService advancedScenarioService, PatientSimulatedScenarioService patientSimulatedScenarioService, MaterialeService materialeService, PresidiService presidiService, AzioneChiaveService azioneChiaveService, UnZipScenarioService unZipScenarioService, FileStorageService fileStorageService) Costruisce una nuova istanza diScenarioImportService. Inietta tutte le dipendenze dei servizi necessari per le operazioni di importazione.- Parameters:
- scenarioService- Il servizio principale per gli scenari.
- esameFisicoService- Il servizio per gli esami fisici.
- pazienteT0Service- Il servizio per i dati del paziente T0.
- esameRefertoService- Il servizio per gli esami e referti.
- advancedScenarioService- Il servizio per gli scenari avanzati.
- patientSimulatedScenarioService- Il servizio per gli scenari simulati con paziente.
- materialeService- Il servizio per i materiali necessari.
- presidiService- Il servizio per i presidi.
- azioneChiaveService- Il servizio per le azioni chiave.
- unZipScenarioService- Il servizio per la decompressione ZIP.
- fileStorageService- Il servizio per lo storage dei file.
 
 
- 
- 
Method Details- 
createScenarioByJSONpublic boolean createScenarioByJSON(byte[] jsonFile) Crea un nuovo scenario nel database a partire da un file JSON. Il JSON deve contenere la struttura completa dello scenario, inclusi i dati principali e tutti i componenti correlati (paziente T0, esami, materiali, ecc.). Il tipo di scenario (Quick, Advanced, Patient Simulated) viene determinato dal campo "tipo" nel JSON.- Parameters:
- jsonFile- L'array di byte che rappresenta il contenuto del file JSON.
- Returns:
- truese lo scenario è stato creato con successo e tutti i suoi componenti sono stati salvati;- falsein caso di errore di parsing JSON, dati mancanti, tipo di scenario non riconosciuto o fallimento del salvataggio.
 
- 
importScenarioFromZipImporta uno scenario da un file ZIP. Il file ZIP è atteso contenere un file JSON denominato 'scenario.json' e opzionalmente una cartella 'esami/' (o 'media/') con file multimediali. I file multimediali estratti verranno salvati nello storage configurato.- Parameters:
- zipBytes- L'array di byte che rappresenta il contenuto del file ZIP.
- fileName- Il nome del file ZIP originale (utilizzato principalmente per il logging).
- Returns:
- truese l'importazione ha successo, inclusa la creazione dello scenario e il salvataggio dei file multimediali;- falsealtrimenti.
 
 
-