Class QueryImpl
- All Implemented Interfaces:
Constants,Query,Serializable
- Direct Known Subclasses:
DBWrapper
QueryImpl è l'implementazione dell'interfaccia Query
la quale contiene, oltre alle query parametriche della della web-application
ROL-RMS (Rischi On Line — Risk Mapping Software),
anche l'interfaccia pubblica di alcuni metodi per la costruzione di
query a runtime – implementazione di cui si prende carico proprio
il presente oggetto.
Implementa pertanto alcuni metodi, dichiarati in quella, che costruiscono,
a runtime, query la cui esatta struttura non era possibile stabilire
in anticipo (a meno di introdurre notevoli ridondanze e violare
il paradigma DRY).
- Author:
- Giovanroberto Torre
- See Also:
-
Field Summary
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 TypeMethodDescriptiongetMeasureByRiskAndProcess(String idR, String idP, String idS, String codeM, int getAll) Seleziona l'elenco di tutte le misure di mitigazione trovate per un dato rischio, nel contesto di un dato processo, e in riferimento a una data rilevazione, i cui identificativi vengono passati come parametri (relazione 4-aria).getMeasuresByFactors(int idF, int idS, String codeM) Seleziona le misure che, tramite la loro tipologia, sono collegate a un fattore abilitante, il cui identificativo viene passato come parametro, escludendo alcune misure i cui codici, facoltativamente, vengono passati come parametro.getMeasuresByStruct(int idR, int idS, byte level, String role, Date date1, Date date2) Seleziona le misure di mitigazione direttamente collegate a una struttura di dato livello, recuperando anche attributi esclusivi dei dettagli inseriti ai fini del monitoraggio e riferimenti alla struttura collegata alla misura stessa.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.getQueryAnswers(HashMap<String, LinkedHashMap<String, String>> params, int idSurvey, int numOfQuest, int idQuest, boolean getAll) Costruisce dinamicamente la query che seleziona un insieme di risposte ad una serie di quesiti associati a una data rilevazione.getQueryMacroSubProcessAtByIdOrCode(int idO, String codeO, 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 uno specifico, rispettivamente, macroprocesso, processo o sottoprocesso dato il suo id oppure il suo codice (è sufficiente passare uno dei due ma, se si passano tutti e due e sono attinenti allo stesso processo, non cambia niente nei risultati).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.getQueryProcessBySurvey(int idR, int idS, int idP, int idM) Costruisce dinamicamente la query che seleziona un processo di qualsivoglia livello (tupla di macroprocesso_at oppure di processo_at...getQueryStructure(int id, byte level) Costruisce dinamicamente la query che seleziona una struttura in base al suo identificativo, dato il livello identificante l'insieme entro cui cercarla.getQueryStructureBySurvey(int idR, int idl4, int idl3, int idl2, int idl1) Costruisce dinamicamente la query che seleziona una struttura di qualsivoglia livello (tupla di struttura_liv1 oppure di struttura_liv2...getQueryStructureParent(int id, byte level) Costruisce dinamicamente la query che seleziona una struttura parent sulla base dell'identificativo della struttura child, dato il livello identificante l'insieme entro cui cercarla.getQueryStructures(int idR, int idl4, int idl3, int idl2, int idl1) Costruisce dinamicamente la query che seleziona le strutture di un dato livello oppure le strutture di un livello gerarchico inferiore appartenenti a una struttura di livello gerarchico superiore, a seconda del valore dei parametri di input.
-
Constructor Details
-
QueryImpl
public QueryImpl()
-
-
Method Details
-
getQueryStructures
Description copied from interface:QueryCostruisce dinamicamente la query che seleziona le strutture di un dato livello oppure le strutture di un livello gerarchico inferiore appartenenti a una struttura di livello gerarchico superiore, a seconda del valore dei parametri di input.
- Specified by:
getQueryStructuresin interfaceQuery- Parameters:
idR- identificativo della rilevazioneidl4- identificativo della struttura di livello 4, -1 se si vogliono tutte le strutture di questo livello, oppure 0 se non interessa questo livelloidl3- identificativo della struttura di livello 3, -1 se si vogliono tutte le strutture di questo livello, oppure 0 se non interessa questo livelloidl2- identificativo della struttura di livello 2, -1 se si vogliono tutte le strutture di questo livello, oppure 0 se non interessa questo livelloidl1- identificativo della struttura di livello 1, -1 se si vogliono tutte le strutture di questo livello, oppure 0 se non interessa questo livello- Returns:
String- la query che seleziona le strutture desiderate- See Also:
-
getQueryStructure
Description copied from interface:QueryCostruisce dinamicamente la query che seleziona una struttura in base al suo identificativo, dato il livello identificante l'insieme entro cui cercarla.
- Specified by:
getQueryStructurein interfaceQuery- Parameters:
id- identificativo della struttura cercatalevel- marcatore dell'insieme entro cui effettuare la ricerca- Returns:
String- la query che seleziona la struttura desiderata- See Also:
-
getQueryStructureParent
Description copied from interface:QueryCostruisce dinamicamente la query che seleziona una struttura parent sulla base dell'identificativo della struttura child, dato il livello identificante l'insieme entro cui cercarla.
- Specified by:
getQueryStructureParentin interfaceQuery- Parameters:
id- identificativo della struttura childlevel- marcatore dell'insieme entro cui effettuare la ricerca- Returns:
String- la query che seleziona il parent della struttura desiderata- See Also:
-
getQueryStructureBySurvey
Description copied from interface:QueryCostruisce dinamicamente la query che seleziona una struttura di qualsivoglia livello (tupla di struttura_liv1 oppure di struttura_liv2... etc.) in base ai parametri ricevuti.
In particolare, verifica prima la significatività dell'identificativo dell'eventuale struttura di livello 4;
- se questo è significativo, restituisce la query per recuperare la struttura di livello 4 ed esce;
- se invece questo non è significativo, verifica la significatività dell'identificativo della struttura di livello 3, etc.
- Specified by:
getQueryStructureBySurveyin interfaceQuery- Parameters:
idR- identificativo della rilevazioneidl4- identificativo della struttura di livello 4, oppure -2 se non interessa questo livelloidl3- identificativo della struttura di livello 3, oppure -2 se non interessa questo livelloidl2- identificativo della struttura di livello 2, oppure -2 se non interessa questo livelloidl1- identificativo della struttura di livello 1, oppure -2 se non interessa questo livello- Returns:
String- la query che seleziona la struttura cercata oppure ‘–’ se nessun parametro id e' stato trovato significativo- See Also:
-
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- 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
-
getQueryMacroSubProcessAtByIdOrCode
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 uno specifico, rispettivamente, macroprocesso, processo o sottoprocesso dato il suo id oppure il suo codice (è sufficiente passare uno dei due ma, se si passano tutti e due e sono attinenti allo stesso processo, non cambia niente nei risultati).
- Specified by:
getQueryMacroSubProcessAtByIdOrCodein interfaceQuery- Parameters:
idO- identificativo di macroprocesso_at, processo_at o sottoprocesso_atcodeO- codice 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'elemento desiderato- See Also:
-
getQueryAnswers
public String getQueryAnswers(HashMap<String, LinkedHashMap<String, String>> params, int idSurvey, int numOfQuest, int idQuest, boolean getAll) Description copied from interface:QueryCostruisce dinamicamente la query che seleziona un insieme di risposte ad una serie di quesiti associati a una data rilevazione.
Siccome potrebbero esservi piú insiemi di risposte a parità di parametri (se la stessa struttura e lo stesso processo sono stati scelti piú volte come "paletti" per l'intervista), il metodo prende in input anche un numero che limita il totale dei record da recuperare.
- Specified by:
getQueryAnswersin interfaceQuery- Parameters:
params- mappa contenente tutti i parametri di navigazione trovatiidSurvey- identificativo della rilevazionenumOfQuest- numero di record da recuperareidQuest- identificativo di un quesito, se si vuol recuperare solo le risposte date a quel quesitogetAll- flag booleano; se true bisogna recuperare le risposte indipendentemente dall'id del quesito- Returns:
String- la query che seleziona l'insieme desiderato- See Also:
-
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- 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
-
getQueryProcessBySurvey
Description copied from interface:QueryCostruisce dinamicamente la query che seleziona un processo di qualsivoglia livello (tupla di macroprocesso_at oppure di processo_at... etc.) in base ai parametri ricevuti.
In particolare, verifica prima la significatività dell'identificativo dell'eventuale sottoprocesso_at;
- se questo è significativo, restituisce la query per recuperare il sottoprocesso_at ed esce;
- se invece questo non è significativo, verifica la significatività dell'identificativo del processo_at, etc.
- Specified by:
getQueryProcessBySurveyin interfaceQuery- Parameters:
idR- identificativo della rilevazioneidS- identificativo sottoprocesso anticorruzioneidP- identificativo processo anticorruzioneidM- identificativo macroprocesso anticorruzione- Returns:
String- la query che seleziona il processo anticorruttivo cercato oppure ‘–’ se nessun parametro id e' stato trovato significativo- See Also:
-
getMeasuresByFactors
Description copied from interface:QuerySeleziona le misure che, tramite la loro tipologia, sono collegate a un fattore abilitante, il cui identificativo viene passato come parametro, escludendo alcune misure i cui codici, facoltativamente, vengono passati come parametro.
- Specified by:
getMeasuresByFactorsin interfaceQuery- Parameters:
idF- identificativo del fattore abilitanteidS- identificativo della rilevazionecodeM- codici delle misure cercate- Returns:
String- la query che seleziona le misure cercate- See Also:
-
getMeasureByRiskAndProcess
public String getMeasureByRiskAndProcess(String idR, String idP, String idS, String codeM, int getAll) Description copied from interface:QuerySeleziona l'elenco di tutte le misure di mitigazione trovate per un dato rischio, nel contesto di un dato processo, e in riferimento a una data rilevazione, i cui identificativi vengono passati come parametri (relazione 4-aria).
Ogni riga, quindi, corrisponderà ad una distinta misura.
- Specified by:
getMeasureByRiskAndProcessin interfaceQuery- Parameters:
idR- identificativo del rischio corruttivoidP- identificativo processo anticorruzioneidS- identificativo della rilevazione ("survey")codeM- codici delle misuregetAll- valore convenzionale che permette di ottenere tutte le misure collegate al rischio e al processo considerati- Returns:
String- la query che seleziona le misure cercate- See Also:
-
getMeasuresByStruct
public String getMeasuresByStruct(int idR, int idS, byte level, String role, Date date1, Date date2) Description copied from interface:QuerySeleziona le misure di mitigazione direttamente collegate a una struttura di dato livello, recuperando anche attributi esclusivi dei dettagli inseriti ai fini del monitoraggio e riferimenti alla struttura collegata alla misura stessa. Basa la selezione principalmente sull'identificativo della struttura e sul suo ruolo rispetto alla misura.
- Specified by:
getMeasuresByStructin interfaceQuery- Parameters:
idR- identificativo della rilevazioneidS- identificativo della strutturalevel- livello della strutturarole- ruolo della struttura rispetto alla misuradate1- data al di sopra della quale la misura non deve essere considerata (è scaduta)date2- data al di sotto della quale la misura non deve essere considerata (non era ancora stata dettagliata)- Returns:
String- la query che seleziona le misure cercate- See Also:
-