Class DBWrapper
- All Implemented Interfaces:
Constants,Query,Serializable
DBWrapper.java è la classe che:
- implementa l'accesso al database utilizzato dall'applicazione
Risk Mapping Software (ROL-RMS)nonché - l'esecuzione delle query di selezione e la gestione dei risultati restituiti, che impacchetta in oggetti di tipo JavaBean e restituisce al chiamante.
- Gestisce anche l'esecuzione delle query di scrittura (inserimento, aggiornamento, eliminazione) che effettua su valori ricevuti in input in strutture di tipo Map-Dictionary.
- Author:
- Giovanroberto Torre
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static LoggerLogger della classe per scrivere i messaggi di errore.protected static DataSourceConnessione db postgres di pol.Fields inherited from interface it.rol.Constants
AMPERSAND, APOSTROPHE, BEAN_DEFAULT_FLOAT, BEAN_DEFAULT_ID, BLANK_SPACE, COLON, COMMA, COMMAND_AUDIT, COMMAND_HOME, COMMAND_INDICATOR, COMMAND_MEASURE, COMMAND_PROCESS, COMMAND_REPORT, COMMAND_RISK, COMMAND_STRUCTURES, CP1, CP2, CP3, CSV, DASH, DATA_FORMAT, DATA_GENERAL_PATTERN, DATA_SQL_PATTERN, DEFAULT_ID, DELETE, DOT, ELEMENT_LEV_1, ELEMENT_LEV_2, ELEMENT_LEV_3, ELEMENT_LEV_4, ENGLISH_DOUBLE_QUOTE_CLOSE, ENGLISH_DOUBLE_QUOTE_OPEN, ENGLISH_SINGLE_QUOTE, EQ, ERR, GR, HTML, HYPHEN, I, I1, I2, I3, I4, IF_EXISTS_DONOT_CREATE_NEW, INTERVIEW, INTERVIEWS, JSON, JSP_EXT, LIVELLI_RISCHIO, LIVELLI_RISCHIO_AS_LIST, LOG_IND, MAIN_MENU, MDASH, MESSAGE, MIME_TYPE_HTML, MIME_TYPE_TEXT, ND, NDASH, NOTHING, P, P1, P2, P3, P4, P5, P6, P7, PARAM_SURVEY, PART_CONFIRM_QST, PART_CREDITS, PART_FACTORS, PART_GRAPHICS, PART_INDICATOR, PART_INPUT, PART_INSERT_ACT_STRUCTS, PART_INSERT_ACTIVITY, PART_INSERT_F_R_P, PART_INSERT_INDICATOR, PART_INSERT_INPUT, PART_INSERT_M_R_P, PART_INSERT_MEASURE, PART_INSERT_MEASUREMENT, PART_INSERT_MONITOR_DATA, PART_INSERT_OUTPUT, PART_INSERT_PROCESS, PART_INSERT_PROCESS_RISK, PART_INSERT_RISK, PART_INSERT_RISK_PROCESS, PART_INSERT_SUBJECT, PART_MACROPROCESS, PART_MEASURES, PART_MONITOR, PART_OUTPUT, PART_PI_NOTE, PART_PROCESS, PART_RESUME_QST, PART_RISKS, PART_SEARCH, PART_SELECT_MEASUREMENT, PART_SELECT_MONITOR_DATA, PART_SELECT_QSS, PART_SELECT_QST, PART_SELECT_STR, PART_UPDATE_ACTIVITY, PART_UPDATE_MEASURE, PART_USR, PER_CENT, PI, PIM, PIR, PRO_PFX, PROCESS, QM, QUOTE, REFERRAL, REPORT_MDM, REPORT_MDM_MES, RISKS, ROOT_QM, RTF, SEMICOLON, SEPARATOR, SLASH, STATI_STRUTTURA, STATI_STRUTTURA_AS_LIST, STR_PFX, STRUCTURES, SUB_MENU, THE_END_OF_TIME, TIME_SQL_PATTERN, TIPI_LISTE, TWELWE_HOUR_FORMAT, UNDERSCORE, UNIX_EPOCH, UPDATE, VOID_SQL_STRING, VOID_STRING, WEIGHT_GENERIC, WEIGHT_SPECIFIC, YEAR_SHIFTFields inherited from interface it.rol.db.Query
DELETE_INDICATOR_PROCESS_RESULTS, GET_ACCESSLOG_BY_LOGIN, GET_ACTIVITIES_BY_PROCESS_AT, GET_ACTIVITIES_BY_SUBPROCESS_AT, GET_ALL, GET_ALL_BY_CLAUSE, GET_AMBIT, GET_AREE_BY_SURVEY, GET_ENCRYPTEDPASSWORD, GET_FACTOR_RISK_PROCESS, GET_FACTORS, GET_FACTORS_BY_RISK_AND_PROCESS, GET_INDICATOR, GET_INDICATOR_BY_ACTIVITY, GET_INDICATOR_BY_ACTIVITY_AND_YEAR, GET_INDICATOR_BY_ACTIVITY_RAW, GET_INDICATOR_PAT, GET_INDICATOR_PXI_BY_PROCESS, GET_INDICATOR_TYPES, GET_INDICATORS, GET_INPUT_BY_PROCESS_AT, GET_INPUT_BY_SUBPROCESS_AT, GET_INPUTS, GET_INTERVIEWED_STRUCT_L4, GET_INTERVIEWS, GET_MACRO_AT_BY_AREA, GET_MACRO_AT_BY_CHILD, GET_MACRO_AT_BY_SURVEY, GET_MEASURE_ACTIVITIES, GET_MEASURE_ACTIVITY, GET_MEASURE_CHARACTERS, GET_MEASURE_TYPE, GET_MEASURE_TYPES, GET_MEASUREMENT, GET_MEASUREMENTS_BY_INDICATOR, GET_MEASUREMENTS_BY_MEASURE, GET_MEASURES, GET_MEASURES_MONITORED, GET_NOTES_PXI, GET_OUTPUT, GET_OUTPUT_BY_PROCESS_AT, GET_OUTPUT_BY_SUBPROCESS_AT, GET_OUTPUTS, GET_PROCESS_AT_BY_ID, GET_PROCESS_AT_BY_OUTPUT, GET_PROCESS_AT_BY_RISK, GET_PROCESSI_AT_BY_MACRO, GET_QUESTION_AMOUNT_BY_SURVEY, GET_QUESTION_AMOUNT_WITH_ANSWER_BY_INTERVIEW, GET_QUESTION_TYPE, GET_QUESTION_WORDING, GET_QUESTIONS, GET_QUESTIONS_BY_INDICATOR, GET_QUESTIONS_BY_QUESTION, GET_RISK, GET_RISK_BY_PROCESS, GET_RISK_BY_SUB, GET_RISK_PROCESS, GET_RISK_SUBPROCESS, GET_RISKS, GET_RISKS_AND_PROCESS_BY_MEASURE, GET_RUOLOUTENTE, GET_SOTTOPROCESSI_AT_BY_PROCESS, GET_STRUCTS_BY_ACTIVITY, GET_STRUCTS_BY_MEASURE, GET_STRUCTS_BY_PROCESS_AT, GET_STRUCTS_BY_ROLE, GET_SUBJECT, GET_SUBJECT_BY_ACTIVITY, GET_SUBJECTS_BY_PROCESS_AT, GET_SURVEY, GET_USR, INSERT_ACCESSLOG_BY_USER, INSERT_ACTIVITY, INSERT_ACTIVITY_STRUCTS, INSERT_ANSWER, INSERT_FACTOR_RISK_PROCESS, INSERT_INDICATOR_PROCESS, INSERT_INPUT, INSERT_INPUT_PROCESS, INSERT_MACRO_AT, INSERT_MEASURE, INSERT_MEASURE_ACTIVITY, INSERT_MEASURE_CHARACTER, INSERT_MEASURE_DETAILS, INSERT_MEASURE_INDICATOR, INSERT_MEASURE_RISK_PROCESS, INSERT_MEASURE_STRUCT, INSERT_MEASURE_TYPE, INSERT_MEASUREMENT, INSERT_OUTPUT, INSERT_OUTPUT_PROCESS, INSERT_PROCESS_AT, INSERT_RISK, INSERT_RISK_PROCESS, INSERT_RISK_SUBPROCESS, INSERT_SUBJECT, LOOKUP_COMMAND, SELECT_COUNT, SELECT_MAX_ID, SELECT_MAX_MAT_CODE, SELECT_MAX_PAT_CODE, SELECT_MAX_RISK_CODE, SELECT_MIN_ID, UPDATE_ACCESSLOG_BY_USER, UPDATE_ACTIVITY_NOTE, UPDATE_ANSWER, UPDATE_MEASURE, UPDATE_NOTE_BY_PROCESS, UPDATE_ORDER_BY_ACTIVITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddeleteIndicatorProcessResults(PersonBean user, LinkedHashMap<Integer, ItemBean> notes) Metodo per eliminare tutti i valori calcolati sugli indicatori di rischio per i processi attraverso le interviste.
Assume che siano state già inserite (almeno una delle) motivazioni del giudizio sintetico e quindi non effettua la cancellazione se non trova tali note, che devono quindi essere state precedentemente selezionate e inserite in una struttura di memoria.booleanexistsFileName(String nomeEntita, String nomeAttributo, String nomeFile) Restituisce un valore booleantruese esiste un file di dato nome, in data entità e dato attributo, tutti passati come argomenti.Restituisce il primo valore trovato data una query passata come parametrogetActivities(PersonBean user, int idp, int level, CodeBean survey) Estrae un elenco di fasi in base agli estremi del sotto/processo anticorruttivo.getAmbits(PersonBean user, CodeBean survey) Restituisce un ArrayList contenente tutti gli ambiti di analisi trovati nella rilevazione corrente.getAnswers(PersonBean user, InterviewBean params, CodeBean survey) Estrae un elenco di risposte ad una serie di quesiti in funzione di una serie di parametri e nel contesto di una data rilevazione.getAnswers(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params, CodeBean survey) Estrae un elenco di risposte ad una serie di quesiti in funzione di una serie di parametri e nel contesto di una data rilevazione.getAree(PersonBean user, CodeBean survey) Seleziona la lista delle aree di rischio collegate alla rilevazione passata come parametro, corredate di macroprocessi ad esse aggregati.intRestituisce il numero di record di una tabella il cui nome viene passato come argomento oppure zero se nella tabella non sono presenti record.getEncryptedPassword(String username) Restituisce un CodeBean contenente la password criptata e il seme per poter verificare le credenziali inserite dall'utente.intgetFactorRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Restituisce il numero di associazioni ternarie già esistenti per un dato rischio corruttivo, un dato processo e un dato fattore abilitante oppure zero se non ce ne sono.getFactors(PersonBean user, CodeBean survey) Restituisce un ArrayList contenente tutti i fattori abilitanti censiti indipendentemente dalla rilevazione.getFileDoc(String nomeEntita, String nomeAttributo, int idBelongs, int getAll) Restituisce un Vector di FileDocBean estratti da data entità e dato attributo, entrambi passati come argomenti.getIndicatorByActivity(PersonBean user, ActivityBean fase, CodeBean survey) Restituisce un indicatore di monitoraggio collegato ad una specifica fase di attuazione passata come parametro.getIndicatorByActivity(PersonBean user, ActivityBean fase, Date since, Date to, CodeBean survey) Restituisce un indicatore di monitoraggio collegato ad una specifica fase di attuazione passata come parametro ed avente la data target non precedente a since e non successiva a to.getIndicatorNotes(PersonBean user, CodeBean survey) Restituisce una mappa con order insertion avente in chiave il Wrapper dell'identificativo di processo e come valore un ItemBean contenente gli estremi dell'indicatore PxI, comprese, soprattutto, le note al giudizio sintetico.getIndicatorPI(PersonBean user, int idP, CodeBean survey) Restituisce gli estremi del PxI di un processo di dato id, il cui identificativo viene passato come parametro e di una data rilevazione, il cui identificativo viene passato come parametro.getIndicators(PersonBean user, CodeBean survey) Estrae un elenco completo di indicatorigetIndicatorsByActivity(PersonBean user, ActivityBean fase, CodeBean survey) Restituisce elenco di indicatori di monitoraggio collegati ad una specifica fase di attuazione passata come parametro.Restituisce un ArrayList contenente tutte le tipologie di indicatori di monitoraggio.
Non si considera l'utente loggato in quanto questa informazione può essere considerata visibile a tutte le tipologie di utenti.getIndicatorValues(PersonBean user, ArrayList<ProcessBean> mats, CodeBean survey, int muffler) Restituisce tutti i valori già pre-calcolati per tutti gli indicatori relativi a tutti i processi nel contesto di una data rilevazione.
Effettua diversi rimaneggiamenti sui dati estratti una sola volta nell'ottica di limitare al massimo il numero di accessi al disco (ovvero delle letture da db).
I valori recuperati da database sono stati memorizzati in base a un pre-calcolo (caching).getInputs(PersonBean user, int idp, int getAll, int level, CodeBean survey) Estrae un elenco di input in base all'identificativo del sotto/processo anticorruttivo, oppure estrae un elenco di tutti gli input trovati nella rilevazione corrente e collegati a processi, indipendentemente dall'id del sotto/processo ricevuto, a seconda del valore della coppia di parametri (idp, getAll).getInputs(PersonBean user, int idp, int level, CodeBean survey) Façade digetInputs(PersonBean, int, int, int, CodeBean)Contestualizza sempre gli input sull'id del sotto/processo ricevuto, cioè recupera solo gli input collegati al sotto/processo il cui identificativo riceve come argomento e il cui livello viene passato come parametro.getInputs(PersonBean user, CodeBean survey) Estrae un elenco di tutti gli input trovati nella rilevazione corrente.getInterviewsBySurvey(PersonBean user, CodeBean survey) Estrae un elenco di interviste definita ciascuna come un insieme di riposte a quesiti associati a una data rilevazione.
L'insieme di risposte viene identificato a partire da una chiave di fatto, costituita dai seguenti campi: id struttura liv1, liv2, liv3, liv4 id macroprocesso, processo, sottoprocesso id rilevazione stessa data e ora per tutte le rispostegetMacroAtBySurvey(PersonBean user, String codeSurvey) Data una rilevazione, restituisce un ArrayList di macroprocessi censiti dall'anticorruzione ad essa afferenti, contenenti ciascuno i processi figli al proprio interno.getMacroSubProcessAtByIdOrCode(PersonBean user, int idMPSAT, String codeMPSAT, byte level, CodeBean survey) Dato un id o un codice, restituisce un ProcessBean che incapsula i dati di un macroprocesso, processo o sottoprocesso, determinato in base al livello passato come parametro. È possibile passare o un id o un codice e il processo verrà recuperato in ogni caso (se si conosce l'ID ma non il codice, passare una stringa qualunque come codice, p.es.getMacroSubProcessAtBySurvey(PersonBean user, int idMPSAT, byte level, CodeBean survey) Data una rilevazione, restituisce un ArrayList di macroprocessi censiti dall'anticorruzione ad essa afferenti, corredati, sullo stesso record, degli estremi dei processi e sottoprocessi anticorrutivi ad essi collegati, delle aree di rischio e di altri indicatori.getMatCode(String code) Restituisce il codice del macroprocesso da utilizzare, data la sua area di rischio.intRestituisce il massimo valore del contatore identificativo di una tabella il cui nome viene passato come argomento oppure zero se nella tabella non sono presenti record.getMaxRiskCode(String code) Restituisce il massimo codice del rischio se per tale categoria di codice ne sono stati già inseriti oppure il primo codice se nella tabella non sono presenti rischi inseriti nella categoria identificata da quel tipo di codice.getMeasure(PersonBean user, String code, Date after, Date before, CodeBean survey) Dato un codice e una finestra temporale, restituisce una specifica misura, in funzione dei parametri ricevuti.
In particolare: il target di almeno un indicatore deve trovarsi in una data maggiore o uguale ad after e minore o uguale a before.getMeasureActivity(PersonBean user, String code, int idF, int year, CodeBean survey) Restituisce una fase di attuazione di dato id, appartenente a una misura di dato codice, nel contesto di una data rilevazione.Restituisce un ArrayList contenente i possibili caratteri delle misure di prevenzione/mitigazione del rischio corruttivo.
Non si prende in considerazione l'utente loggato in quanto questa informazione può essere considerata visibile a tutte le tipologie di utenti (anche perché anche se sai quali sono i caratteri delle misure ma non sai quali sono le misure, a che serve questa informazione?).getMeasurement(PersonBean user, int id, CodeBean survey) Restituisce una misurazione di dato id.getMeasures(PersonBean user, String code, int getAll, CodeBean survey) Data una rilevazione, restituisce un elenco di misure di prevenzione trovate, oppure una specifica misura, in funzione dei parametri ricevuti.
In particolare: se si passa il codice della misura sul II parametro e 0 sul III parametro restituisce una lista vettoriale contenente la misura avente il codice ricevuto (se esiste), oppure una lista vuota (se non esiste) se si passa una stringa SQL vuota sul II parametro e -1 sul III parametro restituisce l'elenco completo delle misure di prevenzione trovate nella rilevazione passata sul IV parametro se si passa UNIX_EPOCH (1° gennaio 1970) o una data molto vecchia sul 4° parametro restituisce tutte le misure di mitigazione; altrimenti, restituisce solo le misure con data scadenza successiva (strettamente maggiore) della data passatagetMeasuresByFactors(PersonBean user, RiskBean risk, boolean getAll, CodeBean survey) Restituisce un ArrayList contenente tutte le misure collegate, tramite la propria tipologia, ad uno o piú fattori abilitanti i cui identificativi vengono passati come parametro.getMeasuresByStructs(PersonBean user, Date dateAfter, Date dateBefore, CodeBean survey) Restituisce un ArrayList contenente tutte le strutture capofila di misure, con all'interno le misure stesse.Restituisce un ArrayList contenente tutte le tipologie di misura di prevenzione/mitigazione del rischio corruttivo.
Non si considera l'utente loggato in quanto questa informazione può essere considerata visibile a tutte le tipologie di utenti.intRestituisce il minimo valore del contatore identificativo di una tabella il cui nome viene passato come argomento oppure zero se nella tabella non sono presenti record.getOutput(PersonBean user, int id, CodeBean survey) Dato un id e una rilevazione, restituisce un output selezionato in base a tali parametri, comprensivo dei processi da esso generati.getOutputs(PersonBean user, int idp, int level, CodeBean survey) Estrae un elenco di output in base agli estremi del sotto/processo anticorruttivo.getOutputs(PersonBean user, CodeBean survey) Estrae l'elenco degli output indipendentemente dal contesto di uno specifico sotto/processo anticorruttivo.getPatCode(PersonBean user, int idMat, String codeMat, CodeBean survey) Restituisce il codice del processo da utilizzare, dato il suo macroprocesso.getProcessById(PersonBean user, int idP, CodeBean survey) Restituisce un oggetto corrispondente ad un processo censito a fini anticorruttivi, il cui identificativo accetta come argomento.getProcessByRisk(PersonBean user, RiskBean risk, CodeBean survey) Restituisce un ArrayList contenente tutti i processi (livello 2) collegati ad un dato rischio corruttivo il cui identificativo viene accettato come argomento, e censiti nel contesto di una data rilevazione.getQueryAnswers(InterviewBean params, int idSurvey) Costruisce dinamicamente la query che seleziona un insieme di risposte ad una serie di quesiti associati ad una data intervista nel contesto di una data rilevazione.getQueryMacroSubProcessAtBySurvey(int idP, byte level, int idSur) In funzione del parametro specificante il livello (1 = macroprocesso_at | 2 = processo_at | 3 = sottoprocesso_at), costruisce dinamicamente la query che estrae tutti i macroprocessi censiti dall'anticorruzione (oppure uno specifico macroprocesso) filtrati in base all'identificativo della rilevazione, passato come parametro, rappresentando in ogni tupla anche i valori delle entità collegate.getQuestions(PersonBean user, CodeBean survey, int idQuestion, int getAll) Data una rilevazione restituisce un ArrayList di domande da sottoporre per rilevare i rischi.getQuestionsAmountBySurvey(int idSurvey) Restituisce un Integer corrispondente al wrapper del numero di quesiti trovati dato un identificativo di rilevazione, passato come parametro.getQuestionsAmountWithAnswerByInterview(HashMap<String, LinkedHashMap<String, String>> params, CodeBean survey) Restituisce un Integer corrispondente al wrapper del numero di quesiti trovati dati gli estremi di un'intervista, passati come parametri.getQuestionsByIndicator(PersonBean user, CodeBean survey) Restituisce un HashMap contenente insiemi di identificativi dei quesiti indicizzati per codice di indicatore.getRisk(PersonBean user, int idRisk, CodeBean survey) Restituisce un oggetto corrispondente ad un rischio corruttivo censito nel contesto di una data rilevazione, i cui identificativi accetta come argomenti.intgetRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Restituisce il numero di processi o sottoprocessi associati ad un dato rischio corruttivo, oppure zero se non ce ne sono.getRisks(PersonBean user, int getAll, CodeBean survey) Restituisce un ArrayList contenente tutti i rischi corruttivi censiti nel contesto di una data rilevazione, oppure tutti i rischi corruttivi trovati indipendentemente dalla rilevazione, in funzione del valore dei parametri.getRisksByMeasure(PersonBean user, String code, CodeBean survey) Restituisce un elenco di rischi, sotto forma di oggetti generici, cui una data misura di prevenzione del rischio corruttivo è applicata.getRisksByProcess(PersonBean user, ProcessBean process, CodeBean survey) Restituisce un ArrayList contenente tutti i rischi corruttivi collegati ad un dato processo o sottoprocesso e censiti nel contesto di una data rilevazione.getStructure(PersonBean user, int id, byte level, String codeSurvey) Dato un id e un livello, restituisce una struttura selezionata in base a quell'id nella tabella identificata in base al livello.getStructures(PersonBean user, CodeBean survey) Data una rilevazione, restituisce la lista gerarchica delle strutture rilevate.getStructures(PersonBean user, ArrayList<ProcessBean> mats, CodeBean survey) Dato in input un elenco vettoriale di macroprocessi censiti dall'anticorruzione, contenenti al proprio interno i rispettivi processi figli, estrae un elenco di strutture collegate a ciascun processo figlio e lo inserisce in una mappa (Dictionary) in cui le chiavi sono costituite dagli identificativi dei processi figli e i valori dalle strutture rispettivamente collegate ai processi stessi.getSubject(PersonBean user, int idSubject, CodeBean survey) Dato il suo id, restituisce un soggetto contingente (ente esterno, o soggetto interessato).getSubjects(PersonBean user, boolean master, boolean getAll, CodeBean survey) Estrae un elenco di tutti i soggetti contingenti trovati nella rilevazione corrente: filtrandoli in base al loro essere master (se true) o slave (se false) se il III parametro (getAll) è false, oppure indipendentemente dal loro essere master/slave se il III parametro è true. Esempi:getSubjects(PersonBean user, int idActivity, CodeBean survey) Dato un identificativo di un'attività, restituisce una lista di soggetti contingenti (enti esterni o soggetti interessati) collegati ad essa.getSubjects(PersonBean user, ArrayList<ProcessBean> mats, CodeBean survey) Dato in input un elenco vettoriale di macroprocessi censiti dall'anticorruzione, contenenti al proprio interno i rispettivi processi figli, estrae un elenco di soggetti contingenti collegati a ciascun processo figlio e lo inserisce in una mappa (Dictionary) in cui le chiavi sono costituite dagli identificativi dei processi figli e i valori dai soggetti rispettivamente collegati ai processi stessi.getSurvey(int idSurvey, int getAll) Seleziona i dati della rilevazione.getSurveys(int idSurvey, int getAll) Seleziona i dati di una o piú rilevazioni.Restituisce un PersonBean rappresentante un utente loggato.intinsertActivities(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di nuove attività di processo.intinsertActivitiesStructures(PersonBean user, ArrayList<ItemBean> activities, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di nuove attività di processo.voidinsertAnswers(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params, int items) Metodo per fare l'inserimento di un nuovo questionario.voidinsertFactorRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di una nuova tupla identificante la relazione ternaria tra un rischio ed un fattore abilitante, nel contesto di un dato processo e di una data rilevazione.voidinsertIndicatorMeasure(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di un nuovo indicatore collegato ad una fase di attuazione di una misura monitorata, nel contesto di una data misura e di una data rilevazione.voidinsertIndicatorProcess(PersonBean user, ArrayList<ProcessBean> mats, LinkedHashMap<Integer, ItemBean> notes, CodeBean survey) Metodo per fare l'inserimento dei valori degli indicatori di rischio calcolati per ogni singolo processo su cui sia stata effettuata almeno un'intervista.
Assume che siano state già inserite (almeno una delle) motivazioni del giudizio sintetico.intinsertInputs(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di nuovi input di processo.insertMacroAt(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di un nuovo macroprocesso censito a fini anticorruttivi.voidinsertMeasure(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params, int c1l2Id) Metodo per fare l'inserimento di una nuova misura di prevenzione o mitigazione del rischio corruttivo.voidinsertMeasureDetails(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento dei dettagli relativi al monitoraggio di una misura di prevenzione/mitigazione del rischio corruttivo.voidinsertMeasurement(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di una nuova misurazione.voidinsertMeasureRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di una nuova tupla identificante la relazione ternaria tra un rischio ed una misura di prevenzione del rischio stesso nel contesto di un dato processo e di una data rilevazione.intinsertOutputs(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di nuovi output di processo.insertProcessAt(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di un nuovo processo censito a fini anticorruttivi.voidinsertRisk(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di un nuovo rischio.voidinsertRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di una nuova associazione tra un rischio ed un sotto/processo, entrambi esistenti.voidinsertSubject(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'inserimento di un soggetto contingente.booleanisMeasureRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params, ArrayList<MeasureBean> list) Restituisceverose una misura in una lista di misure risulta già associata ad un dato rischio nel contesto di un dato processo,falsoaltrimenti.Restituisce un Vector di Command.voidmanageAccess(String username) Verifica se per l'utente loggato esiste una tupla che indica un precedente login.booleanpostUpdateFileDoc(HashMap<String, Object> params) Aggiorna le informazioni relative alla dimensione di un file, i cui estremi vengono comunicati in un dictionary passato come argomento.intsetFileDoc(HashMap<String, Object> params) Inserisce le informazioni relative ad un file, i cui estremi vengono comunicati in un dictionary passato come argomento.voidupdateActivities(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'aggiornamento dei numeri d'ordine delle attività.voidupdateActivity(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'aggiornamento della descrizione di un'attività (o fase di processo).voidupdateAnswer(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'aggiornamento dei valori di una risposta data.voidupdateMeasure(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'aggiornamento di un misura di mitigazione.voidupdateNote(PersonBean user, HashMap<String, LinkedHashMap<String, String>> params) Metodo per fare l'aggiornamento di una nota al giudizio sintetico.Methods inherited from class it.rol.db.QueryImpl
getMeasureByRiskAndProcess, getMeasuresByFactors, getMeasuresByStruct, getQueryAnswers, getQueryMacroSubProcessAtByIdOrCode, getQueryProcessBySurvey, getQueryStructure, getQueryStructureBySurvey, getQueryStructureParent, getQueryStructures
-
Field Details
-
LOG
Logger della classe per scrivere i messaggi di errore. All logging goes through this logger.
Non è privata ma Default (friendly) per essere visibile negli oggetti ovverride implementati da questa classe.
-
rol_manager
Connessione db postgres di pol.
-
-
Constructor Details
-
DBWrapper
Costruttore. Prepara le connessioni.
Viene usata l'interfaccia DataSource per ottenere le connessioni.
Usa il pattern Singleton per evitare di aprire connessioni inutili in caso di connessioni già aperte.
- Throws:
WebStorageException- in caso di mancata connessione al database per errore password o dbms down- See Also:
-
-
Method Details
-
getSurvey
Seleziona i dati della rilevazione.
A seconda del valore dei parameri ricevuti, assume i seguenti comportamenti:
- se viene passato l'id rilevazione sul primo e secondo parametro
- restituisce i dati della specifica rilevazione, avente tale valore come identificativo,
- se viene passato un valore qualunque sul primo parametro e -1 sul secondo parametro
- restituisce i dati dell'ultima rilevazione che ha trovato, in base all'ordine di data_rilevazione
Ritorna un CodeBean rappresentante la rilevazione desiderata, oppure quella che si trova in testa alla lista di rilevazioni ordinate per data rilevazione discendente.
- Parameters:
idSurvey- intero rappresentante l'identificativo dell rilevazione desiderato (oppure un valore qualunque se non si cerca una specifica rilevazione)getAll- intero rappresentante il valore convenzionale -1 se si desidera ottenere l'ultima rilevazione (o un valore qualunque se si cerca una specifica rilevazione)- Returns:
CodeBean- CodeBean rappresentante la rilevazione rispondente ai criteri di selezione- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nell'accesso al db o in qualche tipo di puntamento
-
getSurveys
Seleziona i dati di una o piú rilevazioni.
A seconda del valore dei parameri ricevuti, assume i seguenti comportamenti:
- se viene passato l'id rilevazione sul primo e secondo parametro
- restituisce una struttura vettoriale contenente un oggetto valorizzato con i dati della specifica rilevazione, avente tale valore come identificativo,
- se viene passato un valore qualunque sul primo parametro e -1 sul secondo parametro
- restituisce una struttura vettoriale contenente un oggetto valorizzato per ogni rilevazione che ha trovato, in base all'ordine specificato nella query
Ritorna un ArrayList di CodeBean rappresentante la rilevazione desiderata, oppure tutte le rilevazioni trovate, ordinate per ordine specificato nella query.
- Parameters:
idSurvey- intero rappresentante l'identificativo dell rilevazione desiderato (oppure un valore qualunque se non si cerca una specifica rilevazione)getAll- intero rappresentante il valore convenzionale -1 se si desidera ottenere l'ultima rilevazione (o un valore qualunque se si cerca una specifica rilevazione)- Returns:
ArrayList<CodeBean>- ArrayList di CodeBean rappresentante la/le rilevazione/i rispondente/i ai criteri di selezione- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nell'accesso al db o in qualche tipo di puntamento
-
getAree
Seleziona la lista delle aree di rischio collegate alla rilevazione passata come parametro, corredate di macroprocessi ad esse aggregati.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittisurvey- oggetto contenente i dati della rilevazione rispetto a cui si vogliono recuperare le strutture- Returns:
ArrayList<ProcessBean>- ArrayList rappresentante l'elenco delle aree di rischio trovate- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nell'accesso al db o in qualche tipo di puntamento
-
getStructures
public ArrayList<DepartmentBean> getStructures(PersonBean user, CodeBean survey) throws WebStorageException Data una rilevazione, restituisce la lista gerarchica delle strutture rilevate.
Calcola il numero totale di nodi subordinati in base al seguente algoritmo:
- strutture di IV livello
- 0
- strutture di III livello
- num.nodi subordinati = num.figli diretti
- strutture di II livello
- num.nodi subordinati = num.figli diretti + num.figli di figli
- strutture di I livello
- num.nodi subordinati = num.figli diretti + num.figli II livello + num.figli III livello
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittisurvey- oggetto contenente i dati della rilevazione rispetto a cui si vogliono recuperare le strutture- Returns:
ArrayList<DepartmentBean>- ArrayList di strutture coinvolte nel contesto della rilevazione- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getStructure
public DepartmentBean getStructure(PersonBean user, int id, byte level, String codeSurvey) throws WebStorageException Dato un id e un livello, restituisce una struttura selezionata in base a quell'id nella tabella identificata in base al livello.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiid- identificativo della struttura che si vuol recuperarelevel- identificativo dell'insieme in cui ricercare la strutturacodeSurvey- riservato- Returns:
DepartmentBean- la struttura cercata- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getSubject
public DepartmentBean getSubject(PersonBean user, int idSubject, CodeBean survey) throws WebStorageException Dato il suo id, restituisce un soggetto contingente (ente esterno, o soggetto interessato).
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiidSubject- identificativo del soggetto contingente cercatosurvey- oggetto contenente i dati della rilevazione- Returns:
DepartmentBean- il soggetto contingente cercato- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getSubjects
public Vector<DepartmentBean> getSubjects(PersonBean user, int idActivity, CodeBean survey) throws WebStorageException Dato un identificativo di un'attività, restituisce una lista di soggetti contingenti (enti esterni o soggetti interessati) collegati ad essa.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiidActivity- identificativo dell'attivita' cui il soggetto contingente e' collegatosurvey- oggetto contenente i dati della rilevazione- Returns:
Vector<DepartmentBean>- elenco di soggetti contingenti cercati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getStructures
public HashMap<Integer,ArrayList<DepartmentBean>> getStructures(PersonBean user, ArrayList<ProcessBean> mats, CodeBean survey) throws WebStorageException Dato in input un elenco vettoriale di macroprocessi censiti dall'anticorruzione, contenenti al proprio interno i rispettivi processi figli, estrae un elenco di strutture collegate a ciascun processo figlio e lo inserisce in una mappa (Dictionary) in cui le chiavi sono costituite dagli identificativi dei processi figli e i valori dalle strutture rispettivamente collegate ai processi stessi. Le strutture vengono recuperate in base al collegamento con le fasi in cui sono articolati i processi.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittimats- elenco contenente tutti i macroprocessi - e relativi processi figli - privi di strutture collegatesurvey- oggetto contenente i dati della rilevazione- Returns:
HashMap<Integer, ArrayList<DepartmentBean>>- la tabella contenente le strutture indicizzate per identificativo di processo- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getSubjects
public HashMap<Integer,ArrayList<DepartmentBean>> getSubjects(PersonBean user, ArrayList<ProcessBean> mats, CodeBean survey) throws WebStorageException Dato in input un elenco vettoriale di macroprocessi censiti dall'anticorruzione, contenenti al proprio interno i rispettivi processi figli, estrae un elenco di soggetti contingenti collegati a ciascun processo figlio e lo inserisce in una mappa (Dictionary) in cui le chiavi sono costituite dagli identificativi dei processi figli e i valori dai soggetti rispettivamente collegati ai processi stessi. Le strutture vengono recuperate in base al collegamento con le fasi in cui sono articolati i processi.
I soggetti contingenti vengono anche detti "soggetti terzi" o "soggetti interessati".
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittimats- elenco contenente tutti i macroprocessi - e relativi processi figli - privi di soggetti contingentisurvey- oggetto contenente i dati della rilevazione- Returns:
HashMap<Integer, ArrayList<DepartmentBean>>- la tabella contenente i soggetti indicizzati per identificativo di processo- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getSubjects
public ArrayList<ItemBean> getSubjects(PersonBean user, boolean master, boolean getAll, CodeBean survey) throws WebStorageException Estrae un elenco di tutti i soggetti contingenti trovati nella rilevazione corrente:
- filtrandoli in base al loro essere master (se true) o slave (se false) se il III parametro (getAll) è false, oppure
- indipendentemente dal loro essere master/slave se il III parametro è true.
getSubjects(user, true, false, survey)
- restituisce solo i soggetti contingenti flaggati come master
getSubjects(user, false, false, survey)
- restituisce solo i soggetti contingenti flaggati come slave
getSubjects(user, ?, true, survey)
- restituisce tutti i soggetti contingenti indipendentemente da come sono flaggati (indipendentemente dal valore del II parametro)
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittimaster- boolean specificante se il soggetto cercato e' master o slavegetAll- boolean invalidante il parametro precedente se false, rispettante il parametro precedente se truesurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<ItemBean>- la lista di soggetti cercati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getInputs
Estrae un elenco di tutti gli input trovati nella rilevazione corrente.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittisurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<ItemBean>- la lista di input cercati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getInputs
public ArrayList<ItemBean> getInputs(PersonBean user, int idp, int level, CodeBean survey) throws WebStorageException Façade digetInputs(PersonBean, int, int, int, CodeBean)Contestualizza sempre gli input sull'id del sotto/processo ricevuto, cioè recupera solo gli input collegati al sotto/processo il cui identificativo riceve come argomento e il cui livello viene passato come parametro.- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiidp- identificativo del processo/sottoprocesso anticorruttivolevel- identificativo del livello di processo di cui si devono recuperare gli inputsurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<ItemBean>- la lista di input cercati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento- See Also:
-
getInputs
public ArrayList<ItemBean> getInputs(PersonBean user, int idp, int getAll, int level, CodeBean survey) throws WebStorageException Estrae un elenco di input in base all'identificativo del sotto/processo anticorruttivo, oppure estrae un elenco di tutti gli input trovati nella rilevazione corrente e collegati a processi, indipendentemente dall'id del sotto/processo ricevuto, a seconda del valore della coppia di parametri (idp, getAll).
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiidp- identificativo del processo/sottoprocesso anticorruttivogetAll- valore convenzionale; se vale -1 comporta il recupero di tutti gli input, indipendentemente dall'id sotto/processo passato come parametrolevel- identificativo del livello di processo di cui si devono recuperare gli inputsurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<ItemBean>- la lista di input cercati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getActivities
public ArrayList<ActivityBean> getActivities(PersonBean user, int idp, int level, CodeBean survey) throws WebStorageException Estrae un elenco di fasi in base agli estremi del sotto/processo anticorruttivo.
NOTA: fare attenzione al fatto che l'invocazione della populate() altera i valori di inizializzazione degli attributi dei bean; per questo motivo non è possibile fare i test controllando se i valori inizializzati sono maggiori di -2 o -2.0f (che sono i valori di inizializzazione originali nei costruttori dei bean) ma, per verificare se dalla query è arrivato qualche valore significativo, bisognerà testare per valori strettamente maggiori di 0 o di 0.0f. Se si testasse per valori maggiori di -2 o -2.0f il test risulterebbe sempre verificato anche se valori significativi dalla query non sono arrivati (0 > -2).
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiidp- identificativo del processo/sottoprocesso anticorruttivolevel- identificativo del livello di processo di cui si devono recuperare le fasisurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<ActivityBean>- la lista di fasi cercate- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getOutputs
public ArrayList<ItemBean> getOutputs(PersonBean user, int idp, int level, CodeBean survey) throws WebStorageException Estrae un elenco di output in base agli estremi del sotto/processo anticorruttivo.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiidp- identificativo del processo/sottoprocesso anticorruttivolevel- identificativo del livello di processo di cui si devono recuperare gli outputsurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<ItemBean>- la lista di output cercati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getOutputs
public ArrayList<ProcessBean> getOutputs(PersonBean user, CodeBean survey) throws WebStorageException Estrae l'elenco degli output indipendentemente dal contesto di uno specifico sotto/processo anticorruttivo.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittisurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<ProcessBean>- la lista di output trovati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getOutput
Dato un id e una rilevazione, restituisce un output selezionato in base a tali parametri, comprensivo dei processi da esso generati.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiid- identificativo dell'output che si vuol recuperaresurvey- oggetto contenente gli estremi della rilevazione- Returns:
ProcessBean- l'output desiderato- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getQuestionsAmountBySurvey
Restituisce un Integer corrispondente al wrapper del numero di quesiti trovati dato un identificativo di rilevazione, passato come parametro.
- Parameters:
idSurvey- identificativo della rilevazione corrente- Returns:
Integer- il numero di quesiti collegati ad ambiti generici trovati dato l'identificativo della rilevazione- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getQuestionsAmountWithAnswerByInterview
public Integer getQuestionsAmountWithAnswerByInterview(HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params, CodeBean survey) Restituisce un Integer corrispondente al wrapper del numero di quesiti trovati dati gli estremi di un'intervista, passati come parametri.
Nota: l'intervista non è stata pensata come un'entità fisica ma come un set di risposte, accomunate tutte dalla stessa data ed ora. Per gli scopi dell'applicazione rol questa soluzione in una prima fase si sviluppo va bene perché l'inserimento delle risposte non invalid input: 'è' distribuito ma centralizzato. In tale fase non esiste quindi un identificativo dell'intervista da passare, ma solo una data ed un'ora, cui ogni risposta accomunata dalla stessa intervista deve fare capo. Successivamente ha senso concepire l'intervista come un'entità dotata di un suo identificativo, e considerare le risposte accoumunate non in base a una marca temporale ma piuttosto in base alla chiave esterna di tale identificativo. Ciò per prevenire l'evenienza di un improbabile, ma non impossibile, salvataggio di due distinti set di risposte nella stessa data ed ora.
- Parameters:
params- mappa contenente i parametri di navigazionesurvey- oggetto contenente i dati della rilevazione- Returns:
Integer- il numero di quesiti collegati ad una stessa marca temporale richiesta- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getMacroAtBySurvey
public ArrayList<ProcessBean> getMacroAtBySurvey(PersonBean user, String codeSurvey) throws WebStorageException Data una rilevazione, restituisce un ArrayList di macroprocessi censiti dall'anticorruzione ad essa afferenti, contenenti ciascuno i processi figli al proprio interno. Ogni figlio conterrà i relativi figli.
Deve recuperare solo i macroprocessi su cui un utente, il cui username viene passato come argomento, ha i diritti di accesso (in base al ruolo per se).
- Parameters:
user- oggetto rappresentante la persona loggatacodeSurvey- identificativo della rilevazione di cui si vogliono recuperare i macroprocessi- Returns:
ArrayList<ProcessBean>- un Vector di ProcessBean, che rappresentano i macroprocessi su cui l'utente ha i diritti di lettura- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getQueryMacroSubProcessAtBySurvey
Description copied from interface:QueryIn funzione del parametro specificante il livello (1 = macroprocesso_at | 2 = processo_at | 3 = sottoprocesso_at), costruisce dinamicamente la query che estrae tutti i macroprocessi censiti dall'anticorruzione (oppure uno specifico macroprocesso) filtrati in base all'identificativo della rilevazione, passato come parametro, rappresentando in ogni tupla anche i valori delle entità collegate.
- Specified by:
getQueryMacroSubProcessAtBySurveyin interfaceQuery- Overrides:
getQueryMacroSubProcessAtBySurveyin classQueryImpl- Parameters:
idP- identificativo di macroprocesso_at, processo_at o sottoprocesso_atlevel- identificativo del livello a cui e' relativo l'id (1 = macroprocesso_at | 2 = processo_at | 3 = sottoprocesso_at)idSur- codice identificativo della rilevazione- Returns:
String- la query che seleziona l'insieme desiderato
-
getMacroSubProcessAtBySurvey
public ArrayList<ItemBean> getMacroSubProcessAtBySurvey(PersonBean user, int idMPSAT, byte level, CodeBean survey) throws WebStorageException Data una rilevazione, restituisce un ArrayList di macroprocessi censiti dall'anticorruzione ad essa afferenti, corredati, sullo stesso record, degli estremi dei processi e sottoprocessi anticorrutivi ad essi collegati, delle aree di rischio e di altri indicatori.
Questa estrazione, ridondante e non normalizzata, è adatta a generare file csv e simili set di tuple denormalizzate.
- Parameters:
user- oggetto rappresentante la persona loggataidMPSAT- identificativo di un macroprocesso, di un processo o di un sottoprocesso anticorruttivolevel- insieme in cui cercare l'identificativo (1 = macroprocesso_at | 2 = processo_at | 3 = sottoprocesso_at)survey- oggetto rilevazione di cui si vogliono recuperare i macroprocessi, i processi e relative informazioni- Returns:
ArrayList<ItemBean>- un Vector di ItemBean, ciascuno rappresentante una tupla completa- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getMacroSubProcessAtByIdOrCode
public ProcessBean getMacroSubProcessAtByIdOrCode(PersonBean user, int idMPSAT, String codeMPSAT, byte level, CodeBean survey) throws WebStorageException Dato un id o un codice, restituisce un ProcessBean che incapsula i dati di un macroprocesso, processo o sottoprocesso, determinato in base al livello passato come parametro.
- È possibile passare o un id o un codice e il processo verrà recuperato in ogni caso (se si conosce l'ID ma non il codice, passare una stringa qualunque come codice, p.es. VOID_STRING; l'importante è che non corrisponda a un codice realmente esistente);
- se vengono passati entrambi, purché attinenti allo stesso processo, il risultato sarà lo stesso che si ottiene passando uno solo dei due;
- bisogna invece evitare di passare un id ed un codice relativi a due processi diversi, perché in questo caso ne verrà restituito uno solo, ottenendo un comportamento indesiderabile.
- Parameters:
user- oggetto rappresentante la persona loggataidMPSAT- identificativo di un macroprocesso, di un processo o di un sottoprocesso anticorruttivocodeMPSAT- codice di un macroprocesso, di un processo o di un sottoprocesso anticorruttivolevel- insieme in cui cercare l'identificativo (1 = macroprocesso_at | 2 = processo_at | 3 = sottoprocesso_at)survey- oggetto rilevazione di cui si vogliono recuperare i macroprocessi, i processi e relative informazioni- Returns:
ProcessBean- un oggetto corrispondente all'elemento di id fornito come argomento nell'insieme desiderato- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getAmbits
Restituisce un ArrayList contenente tutti gli ambiti di analisi trovati nella rilevazione corrente.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i diritti- Returns:
ArrayList<ItemBean>- un vettore ordinato di ItemBean, che rappresentano gli ambiti di analisi trovati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getQuestions
public ArrayList<QuestionBean> getQuestions(PersonBean user, CodeBean survey, int idQuestion, int getAll) throws WebStorageException Data una rilevazione restituisce un ArrayList di domande da sottoporre per rilevare i rischi.
Il metodo è ricorsivo e funziona richiamando se stesso per arricchire in una passata successiva la lista di quesiti trovati.
La prima volta che viene eseguito, riceve come identificativi interi il valore convenzionale -1 e quindi recupera un elenco; per ogni quesito trovato, recupera gli identificativi di risorse collegate al quesito, inserendoli in attributi temporanei; quindi utilizza immediatamente tali valori per ottenere oggetti completi, che inserisce come attributi a loro volta del bean che inizialmente conteneva i valori temporanei.
Quando richiama se stesso, non passa piú il valore -1 ma il vero id del quesito corrente, di cui si vuol recuperare il quesito padre, se esiste, aggiungendolo al quesito corrente e aggiungendo finalmente questo all'elenco.
Quindi termina l'esecuzione.Il metodo quindi può essere utilizzato
- sia per ottenere una lista di quesiti,
- sia per ottenere uno specifico quesito (sia pure sotto forma di lista, perché ovviamente il tipo restituito può essere solo uno).
- Se si vuol ottenere una lista
- bisogna passare un valore qualunque sul primo parametro e -1 sul secondo parametro.
- Se si vuol ottenere un quesito
- bisogna passare l'identificativo del quesito sia sul primo sia sul secondo parametro.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittisurvey- oggetto contenente i dati della rilevazioneidQuestion- identificativo di uno specifico quesitogetAll- valore convenzionale; se vale -1 comporta il recupero di tutti i quesiti, indipendentemente dall'id passato come parametro- Returns:
ArrayList<QuestionBean>- un Vector di QuestionBean, che rappresentano le domande atte a rilevare i rischi corruttivi- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getAnswers
public ArrayList<QuestionBean> getAnswers(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params, CodeBean survey) Estrae un elenco di risposte ad una serie di quesiti in funzione di una serie di parametri e nel contesto di una data rilevazione.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiparams- mappa contenente i parametri di navigazionesurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<QuestionBean>- la lista di risposte trovate- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getQueryAnswers
public String getQueryAnswers(InterviewBean params, int idSurvey) throws AttributoNonValorizzatoException, WebStorageException Description copied from interface:QueryCostruisce dinamicamente la query che seleziona un insieme di risposte ad una serie di quesiti associati ad una data intervista nel contesto di una data rilevazione.
- Specified by:
getQueryAnswersin interfaceQuery- Overrides:
getQueryAnswersin classQueryImpl- Parameters:
params- oggetto contenente tutti i parametri utili per il recupero delle risposteidSurvey- identificativo della rilevazione- Returns:
String- la query che seleziona l'insieme desiderato- Throws:
AttributoNonValorizzatoException- se risulta impossibile recuperare un attributo obbligatorio di un beanWebStorageException- se manca uno o piu' elementi indispensabili per il recupero delle risposte
-
getAnswers
public ArrayList<QuestionBean> getAnswers(PersonBean user, InterviewBean params, CodeBean survey) throws WebStorageException Estrae un elenco di risposte ad una serie di quesiti in funzione di una serie di parametri e nel contesto di una data rilevazione.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiparams- oggetto contenente i parametri di navigazionesurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<QuestionBean>- la lista di risposte trovate- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getIndicators
public ArrayList<CodeBean> getIndicators(PersonBean user, CodeBean survey) throws WebStorageException Estrae un elenco completo di indicatori
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittisurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<CodeBean>- la lista di indicatori cercati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getQuestionsByIndicator
public HashMap<String,LinkedList<Integer>> getQuestionsByIndicator(PersonBean user, CodeBean survey) throws WebStorageException Restituisce un HashMap contenente insiemi di identificativi dei quesiti indicizzati per codice di indicatore.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittisurvey- oggetto rilevazione- Returns:
HashMap<String, LinkedList<Integer>>- dictionary con ogni entry costituita dal codice indicatore (chiave) e dalla lista degli identificativi dei quesiti ad esso associati (valore)- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getInterviewsBySurvey
public ArrayList<InterviewBean> getInterviewsBySurvey(PersonBean user, CodeBean survey) throws WebStorageException Estrae un elenco di interviste definita ciascuna come un insieme di riposte a quesiti associati a una data rilevazione.
L'insieme di risposte viene identificato a partire da una chiave di fatto, costituita dai seguenti campi:- id struttura liv1, liv2, liv3, liv4
- id macroprocesso, processo, sottoprocesso
- id rilevazione
- stessa data e ora per tutte le risposte
Per ogni intervista, utilizza un ItemBean per memorizzare gli id degli oggetti correlati all'intervista; quindi utilizza tali id dell'item per estrarre, a partire dall'id in questione, il relativo oggetto completo, che memorizza nell'apposito bean per l'intervista (InterviewBean).
Infine, restituisce la lista di InterviewBean.- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittisurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<InterviewBean>- la lista di interviste trovate- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getRisks
public ArrayList<RiskBean> getRisks(PersonBean user, int getAll, CodeBean survey) throws WebStorageException Restituisce un ArrayList contenente tutti i rischi corruttivi censiti nel contesto di una data rilevazione, oppure tutti i rischi corruttivi trovati indipendentemente dalla rilevazione, in funzione del valore dei parametri.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittigetAll- valore convenzionale; se vale -1 comporta il recupero di tutti i rischi, indipendentemente dall'id della rilevazionesurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<RiskBean>- un vettore ordinato di RiskBean, che rappresentano i rischi corruttivi trovati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getRisk
Restituisce un oggetto corrispondente ad un rischio corruttivo censito nel contesto di una data rilevazione, i cui identificativi accetta come argomenti.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiidRisk- identificativo del rischio corruttivosurvey- oggetto contenente i dati della rilevazione- Returns:
RiskBean- un RiskBean, che rappresenta il rischio corruttivo trovato- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getRisksByProcess
public ArrayList<RiskBean> getRisksByProcess(PersonBean user, ProcessBean process, CodeBean survey) throws WebStorageException Restituisce un ArrayList contenente tutti i rischi corruttivi collegati ad un dato processo o sottoprocesso e censiti nel contesto di una data rilevazione.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiprocess- oggetto contenente i dati del processo o del sottoprocessosurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<RiskBean>- un vettore ordinato di RiskBean, che rappresentano i rischi corruttivi trovati per il sotto/processo dato- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getProcessByRisk
public ArrayList<ProcessBean> getProcessByRisk(PersonBean user, RiskBean risk, CodeBean survey) throws WebStorageException Restituisce un ArrayList contenente tutti i processi (livello 2) collegati ad un dato rischio corruttivo il cui identificativo viene accettato come argomento, e censiti nel contesto di una data rilevazione.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittirisk- oggetto contenente i dati del rischiosurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<RiskBean>- un vettore ordinato di RiskBean, che rappresentano i rischi corruttivi trovati per il sotto/processo dato- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getRiskProcess
public int getRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Restituisce il numero di processi o sottoprocessi associati ad un dato rischio corruttivo, oppure zero se non ce ne sono.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiparams- mappa contenente i parametri di navigazione- Returns:
int- il totale delle associazioni processo corrente/rischio corrente- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getProcessById
public ProcessBean getProcessById(PersonBean user, int idP, CodeBean survey) throws WebStorageException Restituisce un oggetto corrispondente ad un processo censito a fini anticorruttivi, il cui identificativo accetta come argomento.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiidP- identificativo del processo organizzativo censito dall'anticorruzionesurvey- oggetto contenente i dati della rilevazione- Returns:
ProcessBean- il ProcessBean rappresentante il processo anticorruttivo trovato- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getFactors
Restituisce un ArrayList contenente tutti i fattori abilitanti censiti indipendentemente dalla rilevazione. Quest'ultimo parametro, che è "gratis", viene passato "just in case", qualora si decidesse, in secondo tempo, di storicizzare quest'entità forte
(fattore_abilitante).- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittisurvey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<CodeBean>- un vettore ordinato di CodeBean, che rappresentano i fattori abilitanti trovati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getFactorRiskProcess
public int getFactorRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Restituisce il numero di associazioni ternarie già esistenti per
- un dato rischio corruttivo,
- un dato processo
- e un dato fattore abilitante
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiparams- mappa contenente i parametri di navigazione- Returns:
int- il totale delle associazioni processo corrente/rischio corrente/fattore corrente- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getIndicatorValues
public ArrayList<ProcessBean> getIndicatorValues(PersonBean user, ArrayList<ProcessBean> mats, CodeBean survey, int muffler) throws WebStorageException Restituisce tutti i valori già pre-calcolati per tutti gli indicatori relativi a tutti i processi nel contesto di una data rilevazione.
Effettua diversi rimaneggiamenti sui dati estratti una sola volta nell'ottica di limitare al massimo il numero di accessi al disco (ovvero delle letture da db).
I valori recuperati da database sono stati memorizzati in base a un pre-calcolo (caching).- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittimats- struttura contenente tutti i macroprocessi - e processi figli - privi di indicatori di rischiosurvey- oggetto contenente i dati della rilevazionemuffler- un intero da sottrarre ai valori effettivi degli indicatori (per non alterare i valori, passare il valore 0)- Returns:
ArrayList<ProcessBean>- struttura contenente tutti i macroprocessi con al loro interno i processi figli, ciascuno corredato dei propri indicatori di rischio- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getIndicatorPI
public ItemBean getIndicatorPI(PersonBean user, int idP, CodeBean survey) throws WebStorageException Restituisce gli estremi del PxI di un processo di dato id, il cui identificativo viene passato come parametro e di una data rilevazione, il cui identificativo viene passato come parametro. Quantunque le tuple restuite dalla query siano molteplici, restituisce un oggetto unico (e non una lista di oggetti) perché appiattisce su questo i dati di tutte le tuple.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiidP- identificativo di processo censito a fini anticorruttivisurvey- oggetto contenente i dati della rilevazione- Returns:
InterviewBean- oggetto contenente gli estremi dell'indicatore cercato- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getIndicatorNotes
public LinkedHashMap<Integer,ItemBean> getIndicatorNotes(PersonBean user, CodeBean survey) throws WebStorageException Restituisce una mappa con order insertion avente in chiave il Wrapper dell'identificativo di processo e come valore un ItemBean contenente gli estremi dell'indicatore PxI, comprese, soprattutto, le note al giudizio sintetico.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittisurvey- oggetto contenente i dati della rilevazione- Returns:
LinkedHashMap<Integer, ItemBean>- dictionary contenente gli indicatori indicizzati per identificativi dei processi- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getMeasureTypes
Restituisce un ArrayList contenente tutte le tipologie di misura di prevenzione/mitigazione del rischio corruttivo.
Non si considera l'utente loggato in quanto questa informazione può essere considerata visibile a tutte le tipologie di utenti. Inoltre, baipassando l'utente loggato, questi dati possono essere acquisiti ancor prima che l'utente si logghi, quindi a livello di applicazione (quando il server viene caricato) – cosa utile per poter caricare staticamente in memoria le tuple corrispondenti, quindi evitare di dover rifare da piú punti la stessa query.- Returns:
ArrayList<CodeBean>- un vettore ordinato di CodeBean, che rappresentano le tipologie di misura trovate- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getMeasureCharacters
Restituisce un ArrayList contenente i possibili caratteri delle misure di prevenzione/mitigazione del rischio corruttivo.
Non si prende in considerazione l'utente loggato in quanto questa informazione può essere considerata visibile a tutte le tipologie di utenti (anche perché anche se sai quali sono i caratteri delle misure ma non sai quali sono le misure, a che serve questa informazione?).- Returns:
ArrayList<CodeBean>- un vettore ordinato di CodeBean, che rappresentano i caratteri di misura trovati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getMeasures
public ArrayList<MeasureBean> getMeasures(PersonBean user, String code, int getAll, CodeBean survey) throws WebStorageException Data una rilevazione, restituisce un elenco di misure di prevenzione trovate, oppure una specifica misura, in funzione dei parametri ricevuti.
In particolare:- se si passa il codice della misura sul II parametro e 0 sul III parametro
- restituisce una lista vettoriale contenente la misura avente il codice ricevuto (se esiste), oppure una lista vuota (se non esiste)
- se si passa una stringa SQL vuota sul II parametro e -1 sul III parametro
- restituisce l'elenco completo delle misure di prevenzione trovate nella rilevazione passata sul IV parametro
- se si passa UNIX_EPOCH (1° gennaio 1970) o una data molto vecchia sul 4° parametro
- restituisce tutte le misure di mitigazione; altrimenti, restituisce solo le misure con data scadenza successiva (strettamente maggiore) della data passata
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i diritticode- il codice di una misura cercata oppure una stringa vuota in linguaggio SQLgetAll- 0 oppure -1 a seconda se si voglia rispettivamente ottenere una singola misura oppure tuttesurvey- oggetto contenente gli estremi della rilevazione- Returns:
ArrayList<MeasureBean>- l'elenco di misure cercate- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getMeasure
public MeasureBean getMeasure(PersonBean user, String code, Date after, Date before, CodeBean survey) throws WebStorageException Dato un codice e una finestra temporale, restituisce una specifica misura, in funzione dei parametri ricevuti.
In particolare: il target di almeno un indicatore deve trovarsi in una data maggiore o uguale ad after e minore o uguale a before.- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i diritticode- il codice di una misura cercata oppure una stringa vuota in linguaggio SQLafter- estremo inferiore dell'intervallo entro cui deve ricadere il target dell'indicatore per essere estrattobefore- estremo superiore dell'intervallo entro cui deve ricadere il target dell'indicatore per essere estrattosurvey- oggetto contenente gli estremi della rilevazione- Returns:
ArrayList<MeasureBean>- l'elenco di misure cercate- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getRisksByMeasure
public ArrayList<ItemBean> getRisksByMeasure(PersonBean user, String code, CodeBean survey) throws WebStorageException Restituisce un elenco di rischi, sotto forma di oggetti generici, cui una data misura di prevenzione del rischio corruttivo è applicata.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i diritticode- il codice di una misura cercatasurvey- oggetto contenente gli estremi della rilevazione- Returns:
ArrayList<ItemBean>- un vettore ordinato di ItemBean, che rappresentano i rischi trovati- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getMeasuresByFactors
public ArrayList<MeasureBean> getMeasuresByFactors(PersonBean user, RiskBean risk, boolean getAll, CodeBean survey) throws WebStorageException Restituisce un ArrayList contenente tutte le misure collegate, tramite la propria tipologia, ad uno o piú fattori abilitanti i cui identificativi vengono passati come parametro. Tali fattori abilitanti sono presenti nel rischio corruttivo che il metodo accetta come argomento.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittirisk- oggetto contenente i dati del rischio corruttivogetAll- flag specificante se devono essere recuperate solo le misure non ancora applicate al rischio in argomento (false), oppure tutte quelle collegate ai fattori abilitanti del rischio stesso (true)survey- oggetto contenente i dati della rilevazione- Returns:
ArrayList<MeasureBean>- un vettore ordinato di misure, che rappresentano le misure suggerite per un rischio collegato ad alcuni fattori abilitanti- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
isMeasureRiskProcess
public boolean isMeasureRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params, ArrayList<MeasureBean> list) Restituisce
verose una misura in una lista di misure risulta già associata ad un dato rischio nel contesto di un dato processo,falsoaltrimenti.- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiparams- mappa contenente i parametri di navigazionelist- elenco di misure in cui si vuol controllare l'esistenza di una misura corrente- Returns:
boolean- true se la misura corrente e' presente nell'elendo di misure in argomento, false in caso contrario- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getIndicatorTypes
Restituisce un ArrayList contenente tutte le tipologie di indicatori di monitoraggio.
Non si considera l'utente loggato in quanto questa informazione può essere considerata visibile a tutte le tipologie di utenti. Inoltre, baipassando l'utente loggato, questi dati possono essere acquisiti ancor prima che l'utente si logghi, quindi a livello di applicazione (quando il server viene caricato) – cosa utile per poter caricare staticamente in memoria le tuple corrispondenti, quindi evitare di dover rifare da piú punti la stessa query.- Returns:
ArrayList<CodeBean>- un vettore ordinato di CodeBean, che rappresentano le tipologie di indicatori trovate- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getMeasuresByStructs
public ArrayList<DepartmentBean> getMeasuresByStructs(PersonBean user, Date dateAfter, Date dateBefore, CodeBean survey) throws WebStorageException Restituisce un ArrayList contenente tutte le strutture capofila di misure, con all'interno le misure stesse. Le capofila possono essere di vario sottotipo (capofila 1, capofila 2, capofila 3) ma non di tipo gregarie.
Il metodo prende in input due date, dateAfter e dateBefore. Per comprendere il significato di questi parametri, bisogna capire come questi vengono macinati dalla query: p.es., se si seleziona l'anno 2025, la query lo interpreta nel seguente modo:
SELECT MS.codice, data_scadenza FROM misura MS INNER JOIN misuramonitoraggio MM ON MS.codice = MM.codice WHERE (MS.data_scadenza IS NULL OR MS.data_scadenza > '2025-01-01') AND MM.data_ultima_modifica invalid input: '<' '2025-12-31';In questo modo, vengono selezionate solo le misure che NON risultano scadute in date che precedono il primo giorno del 2025, e che quindi nel 2025 erano valide (p.es. si considera una misura con scadenza il 2 gennaio 2025 ma non si considera una misura scaduta il 30 dicembre 2024) AND che NON risultano create dopo il 31 dicembre 2025 (p.es., se una misura era stata dettagliata il 2 gennaio 2026 selezionando l'anno 2025 non esce, perché nel 2025 non esisteva ancora).- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittidateAfter- primo giorno dell'anno a partire dal quale la misura non si considera scaduta (p.es. '2026-01-01')dateBefore- ultimo giorno dell'anno che rappresenta la soglia oltre la quale la misura non si considera esistente (p.es. '2026-12-31')survey- oggetto contenente gli estremi della rilevazione- Returns:
ArrayList<DepartmentBean>- un vettore ordinato di DepartmentBean, che rappresentano le capofila delle misure- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getMeasureActivity
public ActivityBean getMeasureActivity(PersonBean user, String code, int idF, int year, CodeBean survey) throws WebStorageException Restituisce una fase di attuazione di dato id, appartenente a una misura di dato codice, nel contesto di una data rilevazione.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i diritticode- il codice di una misura di cui si cercano le fasiidF- identificativo della fase cercatasurvey- oggetto contenente gli estremi della rilevazione- Returns:
ActivityBean- la fase di attuazione cercata- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getIndicatorByActivity
public IndicatorBean getIndicatorByActivity(PersonBean user, ActivityBean fase, CodeBean survey) throws WebStorageException Restituisce un indicatore di monitoraggio collegato ad una specifica fase di attuazione passata come parametro.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittifase- la fase di attuazione cui l'indicatore cercato puo' essere collegatosurvey- oggetto contenente gli estremi della rilevazione- Returns:
IndicatorBean- l'indicatore di monitoraggio collegato alla fase- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getIndicatorsByActivity
public ArrayList<IndicatorBean> getIndicatorsByActivity(PersonBean user, ActivityBean fase, CodeBean survey) throws WebStorageException Restituisce elenco di indicatori di monitoraggio collegati ad una specifica fase di attuazione passata come parametro.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittifase- la fase di attuazione cui l'indicatore cercato puo' essere collegatosurvey- oggetto contenente gli estremi della rilevazione- Returns:
ArrayList<IndicatorBean>- l'indicatore di monitoraggio collegato alla fase- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getIndicatorByActivity
public IndicatorBean getIndicatorByActivity(PersonBean user, ActivityBean fase, Date since, Date to, CodeBean survey) throws WebStorageException Restituisce un indicatore di monitoraggio collegato ad una specifica fase di attuazione passata come parametro ed avente la data target non precedente a since e non successiva a to.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittifase- la fase di attuazione cui l'indicatore cercato puo' essere collegatosince- data di inizio validita' del target (l'indicatore sara' estratto se ha data target successiva a since)to- data di fine validita' del target (l'indicatore sara' estratto se ha data target precedente a to)survey- oggetto contenente gli estremi della rilevazione- Returns:
IndicatorBea- l'indicatore di monitoraggio collegato alla fase- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
getMeasurement
public MeasurementBean getMeasurement(PersonBean user, int id, CodeBean survey) throws WebStorageException Restituisce una misurazione di dato id.
- Parameters:
user- oggetto rappresentante la persona loggata, di cui si vogliono verificare i dirittiid- identificativo della misurazione cercatasurvey- oggetto contenente gli estremi della rilevazione- Returns:
MeasurementBean- la misurazione cercata- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nel recupero di attributi obbligatori non valorizzati o in qualche altro tipo di puntamento
-
insertAnswers
public void insertAnswers(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params, int items) Metodo per fare l'inserimento di un nuovo questionario.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazioneitems- numero di quesiti a cui rispondere e quindi numero di risposte da inserire- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertRisk
public void insertRisk(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di un nuovo rischio.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertRiskProcess
public void insertRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di una nuova associazione tra un rischio ed un sotto/processo, entrambi esistenti.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertFactorRiskProcess
public void insertFactorRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di una nuova tupla identificante la relazione ternaria tra un rischio ed un fattore abilitante, nel contesto di un dato processo e di una data rilevazione.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertIndicatorProcess
public void insertIndicatorProcess(PersonBean user, ArrayList<ProcessBean> mats, LinkedHashMap<Integer, ItemBean> notes, CodeBean survey) throws WebStorageExceptionMetodo per fare l'inserimento dei valori degli indicatori di rischio calcolati per ogni singolo processo su cui sia stata effettuata almeno un'intervista.
Assume che siano state già inserite (almeno una delle) motivazioni del giudizio sintetico.- Parameters:
user- utente loggatomats- struttura contenente tutti i macroprocessi - e processi figli - corredati ciascuno dei valori dei propri indicatori di rischionotes- struttura contenente le motivazioni al giudizio sintetico gia' inseritesurvey- oggetto contenente i dati della rilevazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertMeasure
public void insertMeasure(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params, int c1l2Id) Metodo per fare l'inserimento di una nuova misura di prevenzione o mitigazione del rischio corruttivo.
Oltre a quelli soliti, accetta come argomento anche un id di una struttura di secondo livello, che viene preso in considerazione solo se il parametro della capofila di 2° livello risulta nullo.
About reusing the same PrepraredStatement across multiple updates (into the same transaction), Perplexity.ai said:
"There is a discussion about reusing a single PreparedStatement for multiple queries. The key point highlighted is that while it is possible to reuse a PreparedStatement for multiple executions of the same query efficiently, using it for different queries may lead to unexpected behavior or errors.
Therefore, it is recommended to create separate PreparedStatement objects for different queries to ensure proper execution and avoid unexpected behavior. This approach helps maintain clarity, prevent errors, and ensure the intended behavior of each query execution."
And so did I.- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazionec1l2Id- stringa contenente l'id di una struttura di 2° livello su cui generare la misura- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertMeasureRiskProcess
public void insertMeasureRiskProcess(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di una nuova tupla identificante la relazione ternaria tra un rischio ed una misura di prevenzione del rischio stesso nel contesto di un dato processo e di una data rilevazione.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertMeasureDetails
public void insertMeasureDetails(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento dei dettagli relativi al monitoraggio di una misura di prevenzione/mitigazione del rischio corruttivo.
About reusing the same PrepraredStatement across multiple updates (into the same transaction), Perplexity.ai said:
"There is a discussion about reusing a single PreparedStatement for multiple queries. Just don't do that.- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertIndicatorMeasure
public void insertIndicatorMeasure(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di un nuovo indicatore collegato ad una fase di attuazione di una misura monitorata, nel contesto di una data misura e di una data rilevazione.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertMeasurement
public void insertMeasurement(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di una nuova misurazione.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertMacroAt
public ProcessBean insertMacroAt(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di un nuovo macroprocesso censito a fini anticorruttivi.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Returns:
ProcessBean- oggetto macroprocesso appena inserito- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertProcessAt
public ProcessBean insertProcessAt(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di un nuovo processo censito a fini anticorruttivi.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Returns:
ProcessBean- oggetto processo appena inserito- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertInputs
public int insertInputs(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di nuovi input di processo. Ci sono molti gradi di libertà da gestire perché potrebbero esservi solo nuovi input, solo input esistenti oppure sia nuovi input sia input esistenti (solo la situazione né nuovi input né input esistenti va evitata).- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Returns:
int- l'id dell'ultimo input prima dell'inserimento- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertActivities
public int insertActivities(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di nuove attività di processo. Ci potrebbe essere l'accodamento di attività ad attività già esistenti oppure l'inserimento di nuove attività rispetto ad un processo non ancora articolato.- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Returns:
int- l'id del processo appena inserito- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertActivitiesStructures
public int insertActivitiesStructures(PersonBean user, ArrayList<ItemBean> activities, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di nuove attività di processo. Ci potrebbe essere l'accodamento di attività ad attività già esistenti oppure l'inserimento di nuove attività rispetto ad un processo non ancora articolato.- Parameters:
user- utente loggatoactivities- lista attivita' di processo da inserireparams- mappa contenente i parametri di navigazione- Returns:
int- l'id del processo appena inserito- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertOutputs
public int insertOutputs(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di nuovi output di processo. Ci sono molti gradi di libertà da gestire perché potrebbero esservi solo nuovi output, solo output esistenti oppure sia nuovi output sia output esistenti (solo la situazione né nuovi output né output esistenti va evitata).- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Returns:
int- l'id dell'ultimo output prima dell'inserimento- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
insertSubject
public void insertSubject(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'inserimento di un soggetto contingente.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
setFileDoc
Inserisce le informazioni relative ad un file, i cui estremi vengono comunicati in un dictionary passato come argomento.
Questo inserimento, una volta andato a buon fine, rappresenterà una rappresentazione logica, nel database, di un allegato fisico presente nel file system (del server).
Notare che non esiste alcuna garanzia che la rappresentazione logica dell'allegato corrisponda effettivamente all'allegato fisico, nel senso che, una volta terminato il caricamento, un utente con accessi alla directory degli upload potrebbe eliminare l'allegato fisico, mentre l'allegato logico, ovvero la tupla inserita dal presente metodo, potrebbe restare. Ciò porterebbe, a valle, alla generazione di un link che produce un errore di tipo 404.
Per evitare questo inconveniente, è possibile prevedere meccanismi di protezione delle directories e/o anche meccanismi di trigger che si riverberano sul db – la cui implementazione comunque non attiene alla natura applicativa dei sorgenti del presente software.
- Parameters:
params- HashMap contenente gli estremi del file, al fine di inserire la tupla- Returns:
- identificativo, calcolato, per la tupla che rappresentera' logicamente l'allegato fisico
- Throws:
WebStorageException- se si verifica un problema SQL, nel recupero di attributi di bean, o in qualche altro puntamento
-
updateAnswer
public void updateAnswer(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'aggiornamento dei valori di una risposta data.
Essendo un'intervista identificata dall'insieme delle risposte date, le quali a loro volta sono raggruppate in base a una specifica data ed una specifica ora, non è possibile inserire nella risposta una nuova data contestuale dal timestamp dell'aggiornamento.
Come sviluppo evolutivo, si consiglia di aggiungere una nuova coppia di campi 'data e ora' per memorizzare la data ed ora di effettivo primo inserimento, e riservare i campi "data_ultima_modifica" ed "ora ultima modifica" effettivamente allo scopo per cui sono nominati, ovvero per contenere data e ora dell'aggiornamento, non del primo inserimento; occorrerà poi un porting sui dati per travasare le informazioni attualmente contenute nei due campi "data_ultima_modifica" ed "ora ultima modifica" nei nuovi campi "data inserimento" ed "ora inserimento" e un refactoring sul codice dell'applicazione.- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
updateNote
public void updateNote(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'aggiornamento di una nota al giudizio sintetico.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
updateActivities
public void updateActivities(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'aggiornamento dei numeri d'ordine delle attività.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
updateActivity
public void updateActivity(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'aggiornamento della descrizione di un'attività (o fase di processo).
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
updateMeasure
public void updateMeasure(PersonBean user, HashMap<String, LinkedHashMap<String, throws WebStorageExceptionString>> params) Metodo per fare l'aggiornamento di un misura di mitigazione.
- Parameters:
user- utente loggatoparams- mappa contenente i parametri di navigazione- Throws:
WebStorageException- se si verifica un problema nel cast da String a Date, nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
postUpdateFileDoc
Aggiorna le informazioni relative alla dimensione di un file, i cui estremi vengono comunicati in un dictionary passato come argomento.
Notare che, almeno nel contesto di
Java 7, con cui la presente applicazione è compliant, nel momento in cui un file si trova ancora in memoria volatile, cioè – in pratica – non in memoria di massa del server, Java non è in grado di calcolarne la dimensione. Per questo motivo, all'atto del caricamento di un file vengono eseguite le seguenti operazioni, in transazione:- lettura del file da client e sua memorizzazione in RAM;
- scrittura del file su server e salvataggio nel db della tupla che rappresenta il file da un punto di vista logico;
- lettura del file da disco (ovvero da file system del server); solo ora è possibile calcolare la dimensione del file;
- aggiornamento (postUpdate) della tupla che rappresenta il file nel db, con indicazione della dimensione e di eventuali altre informazioni non desumibili all'atto dell'upload.
- Parameters:
params- HashMap contenente gli estremi del file, al fine di aggiornare la tupla esatta e nel modo corretto- Returns:
boolean- true se l'operazione di aggiornamento e' andata a buon fine- Throws:
WebStorageException- se si verifica un problema SQL o in qualche tipo di puntamento
-
deleteIndicatorProcessResults
public void deleteIndicatorProcessResults(PersonBean user, LinkedHashMap<Integer, ItemBean> notes) throws WebStorageExceptionMetodo per eliminare tutti i valori calcolati sugli indicatori di rischio per i processi attraverso le interviste.
Assume che siano state già inserite (almeno una delle) motivazioni del giudizio sintetico e quindi non effettua la cancellazione se non trova tali note, che devono quindi essere state precedentemente selezionate e inserite in una struttura di memoria.- Parameters:
user- utente loggatonotes- struttura contenente le motivazioni al giudizio sintetico gia' selezionate in precedenza- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nell'accesso al db o in qualche puntamento
-
lookupCommand
Restituisce un Vector di Command.
- Returns:
Vector<ItemBean>- lista di ItemBean rappresentanti ciascuno una Command dell'applicazione- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nell'accesso al db o in qualche tipo di puntamento
-
getMax
Restituisce
- il massimo valore del contatore identificativo di una tabella il cui nome viene passato come argomento
- oppure zero se nella tabella non sono presenti record.
- Parameters:
table- nome della tabella di cui si vuol recuperare il max(id)- Returns:
int- un intero che rappresenta il massimo valore trovato, oppure zero se non sono stati trovati valori- Throws:
WebStorageException- se si verifica un problema nella query o in qualche tipo di puntamento
-
getMin
Restituisce
- il minimo valore del contatore identificativo di una tabella il cui nome viene passato come argomento
- oppure zero se nella tabella non sono presenti record.
- Parameters:
table- nome della tabella di cui si vuol recuperare il min(id)- Returns:
int- un intero che rappresenta il minimo valore trovato, oppure zero se non sono stati trovati valori- Throws:
WebStorageException- se si verifica un problema nella query o in qualche tipo di puntamento
-
getMaxRiskCode
Restituisce
- il massimo codice del rischio se per tale categoria di codice ne sono stati già inseriti
- oppure il primo codice se nella tabella non sono presenti rischi inseriti nella categoria identificata da quel tipo di codice.
- Parameters:
code- prefisso del codice di cui si vuol recuperare il primo codice nuovo utile all'inserimento- Returns:
String- il codice utile all'inserimento- Throws:
WebStorageException- se si verifica un problema nella query o in qualche tipo di puntamento
-
getMatCode
Restituisce il codice del macroprocesso da utilizzare, data la sua area di rischio. Il codice dell'area di rischio passata ha il seguente formato:
idArea.codiceArea
.- Se nell'area di rischio considerata non ci sono ancora
macroprocessi, restituisce
"<CODICE_AREA>.01" - invece, se sono già presenti macroprocessi, individua
l'ultimo e restituisce
"<CODICE_AREA>.<ULTIMO PROGRESSIVO + 1>".
Oltre il progressivo 99 si passa ovviamente a 3 cifre, e così via.
Il metodo funziona sempre, anche per progressivi malformati; esempio:Next code for PER.02: PER.03 Next code for RIC.99: RIC.100 Next code for ABC.10: ABC.11 Next code for XYZ.9: XYZ.10 Next code for TEST.0: TEST.1
- Parameters:
code- id e codice, nel formato #.XYZ, dell'area di rischio relativamente alla quale si vuol generare il codice macroprocesso_at- Returns:
String- il codice macroprocesso, nel formato XYZ.##, utile all'inserimento- Throws:
WebStorageException- se si verifica un problema nella query o in qualche tipo di puntamento
- Se nell'area di rischio considerata non ci sono ancora
macroprocessi, restituisce
-
getPatCode
public String getPatCode(PersonBean user, int idMat, String codeMat, CodeBean survey) throws WebStorageException Restituisce il codice del processo da utilizzare, dato il suo macroprocesso.
- Parameters:
user- utente di cui si vogliono verificare i dirittiidMat- identificativo macroprocesso cui collegare il nuovo processosurvey- estremi della rilevazione- Returns:
String- il codice processo, nel formato XYZ.##, utile all'inserimento- Throws:
WebStorageException- se si verifica un problema nella query o in qualche tipo di puntamento
-
getCount
Restituisce
- il numero di record di una tabella il cui nome viene passato come argomento
- oppure zero se nella tabella non sono presenti record.
- Parameters:
table- nome della tabella di cui si vuol recuperare il numero di tuple- Returns:
int- un intero che rappresenta il numero di tuple trovato, oppure zero se non sono stati trovati record- Throws:
WebStorageException- se si verifica un problema nella query o in qualche tipo di puntamento
-
existsFileName
public boolean existsFileName(String nomeEntita, String nomeAttributo, String nomeFile) throws WebStorageException Restituisce un valore boolean
truese esiste un file di dato nome, in data entità e dato attributo, tutti passati come argomenti.- Parameters:
nomeEntita- prefisso del nome dell'entità in cui verificare l'esistenza dell'allegatonomeAttributo- suffisso del nome dell'entità in cui verificare l'esistenza dell'allegatonomeFile- nome del file di cui verificare la presenza nell'entità di nome ricavabile dai parametri- Returns:
boolean- true se il nome del file è già presente, false altrimenti- Throws:
WebStorageException- se si verifica un problema di tipo SQL o in qualche puntamento
-
getFileDoc
public Vector<FileDocBean> getFileDoc(String nomeEntita, String nomeAttributo, int idBelongs, int getAll) throws WebStorageException Restituisce un Vector di FileDocBean estratti da data entità e dato attributo, entrambi passati come argomenti.
In particolare, potrebbero esistere piú tabelle di allegati per ciascuna entità referenziata (p.es. 'dipartimento_all', 'dipartimento_logo' etc.), per cui il suffisso della tabella potrebbe variare ed è stato parametrizzato.
- Parameters:
nomeEntita- nome dell'entità da cui estrarre gli allegatinomeAttributo- suffisso del nome della tabella dei fileset referenziantiidBelongs- identificativo dell'entita' cui gli allegati fanno riferimentogetAll- intero usato come clausola in OR in funzione del cui valore vengono estratti solo gli allegati di una data entita' oppure di tutte- Returns:
Vector<FileDocBean>- Vector di fileset (riferimenti) agli allegati caricati- Throws:
WebStorageException- se si verifica un problema SQL o in qualche puntamento
-
get
Restituisce il primo valore trovato data una query passata come parametro
- Parameters:
query- da eseguire- Returns:
String- stringa restituita- Throws:
WebStorageException- se si verifica un problema nella query o in qualche tipo di puntamento
-
getEncryptedPassword
Restituisce un CodeBean contenente la password criptata e il seme per poter verificare le credenziali inserite dall'utente.
- Parameters:
username- username della persona che ha richiesto il login- Returns:
CodeBean- CodeBean contenente la password criptata e il seme- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nell'accesso al db o in qualche tipo di puntamento
-
getUser
public PersonBean getUser(String username, String password) throws WebStorageException, AttributoNonValorizzatoException Restituisce un PersonBean rappresentante un utente loggato.
- Parameters:
username- username della persona che ha eseguito il loginpassword- password della persona che ha eseguito il login- Returns:
PersonBean- PersonBean rappresentante l'utente loggato- Throws:
WebStorageException- se si verifica un problema nell'esecuzione della query, nell'accesso al db o in qualche tipo di puntamentoAttributoNonValorizzatoException- eccezione che viene sollevata se questo oggetto viene usato e l'id della persona non è stato valorizzato (è un dato obbligatorio)
-
manageAccess
Verifica se per l'utente loggato esiste una tupla che indica un precedente login.
- Se non esiste una tupla per l'utente loggato, la inserisce.
- Se esiste una tupla per l'utente loggato, la aggiorna.
- Parameters:
username- login dell'utente (username usato per accedere)- Throws:
WebStorageException- se si verifica un problema SQL o in qualche tipo di puntamento
-