Class ProcessCommand
- All Implemented Interfaces:
Command,Constants,Serializable,Comparable<ItemBean>
ProcessCommand.java
Implementa la logica per la gestione dei processi censiti dall'anticorruzione
ai fini della valutazione del rischio corruttivo, on line (ROL).
Implements the logic for managing processes for the purposes of assessing corruption risk online (ROL).
- Author:
- Giovanroberto Torre
- See Also:
-
Field Summary
FieldsFields 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_SHIFT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic RiskBeandecant(AbstractList<RiskBean> risks, int riskId) Estrae da una struttura di rischi, uno di essi, identificato a partire da un identificativo, passato come parametro, oppure null, se il rischio non è stato identificato.static LinkedHashMap<ProcessBean, ArrayList<ProcessBean>> decant(ArrayList<ProcessBean> areas) Travasa una struttura vettoriale di aree di rischio in una corrispondente struttura LinkedHashMap di tipo Dictionary, in cui le chiavi sono rappresentate dalle aree stesse e i valori sono rappresentati dai macroprocessi aggregati da ciascuna di esse.static LinkedHashMap<Integer, ProcessBean> decant(Vector<ProcessBean> processes) Travasa un Vector di ProcessBean in una corrispondente struttura di tipo Dictionary, LinkedHashMap, in cui le chiavi sono rappresentate da oggetti Wrapper di tipi primitivi interi (Integer) e i valori sono rappresentati dai corrispettivi elementi del Vector.decantOutputs(ArrayList<ProcessBean> outputs) Travasa una struttura vettoriale ordinata di output, incapsulati sotto forma di processi (ProcessBean), in una struttura vettoriale ordinata di output, rappresentati come oggetti generici (ItemBean).voidexecute(javax.servlet.http.HttpServletRequest req) Gestisce il flusso principale. Prepara i bean. Passa nella Request i valori che verranno utilizzati dall'applicazione.Dato un elenco complessivo di oggetti e un elenco dato di oggetti, scarta dall'elenco complessivo gli oggetti presenti nell'elento dato.voidRaccoglie i valori dell'oggetto ItemBean e li passa a questa classe command.static voidloadParams(String part, javax.servlet.http.HttpServletRequest req, HashMap<String, LinkedHashMap<String, String>> formParams) Valorizza per riferimento una mappa contenente tutti i valori parametrici riscontrati sulla richiesta.static voidprintJson(javax.servlet.http.HttpServletRequest req, AbstractList<ProcessBean> proc, String filename, ItemBean options) Gestisce la creazione di un file JSON formattato per la libreria orgchart.js (versione 1.0.5) contenente le informazioni relative alla gerarchia dei macroprocessi censiti dall'anticorruzione.static ArrayList<ActivityBean> retrieveActivities(PersonBean user, int id, int level, String codeSurvey, DBWrapper db) Restituisce un ArrayList di tutte le fasi di un processo (o sottoprocesso) anticorruttivo nel contesto di una rilevazione.static HashMap<String, InterviewBean> retrieveIndicators(PersonBean user, HashMap<String, InterviewBean> indicators, int id, int level, String codeSurvey, DBWrapper db) Prende in input un HashMap di tutti gli indicatori, con i valori calcolati in riferimento al processo censito dall'anticorruzione di cui viene passato l'identificativo ed il livello, nel contesto di una data rilevazione, recupera le note al giudizio sintetico del PxI e le aggiunge al relativo indicatore, aggiornando poi la mappa.
Il valore del PxI è uno solo anche nel caso in cui il processo di dato id sia stato esaminato nel contesto di piú di un'intervista, producendo quindi valori molteplici, perché la mappa che accetta come argomento contiene già il valore individuato tramite l'applicazione dell'algoritmo "In dubio pro peior", che sceglie sempre il valore peggiore (ovvero il rischio piú alto) per ogni serie di valori contrastanti.retrieveInputs(PersonBean user, int id, int level, String codeSurvey, DBWrapper db) Restituisce un ArrayList di tutti gli input trovati in base all' identificativo di un processo o un sottoprocesso anticorruttivo e a quello di una rilevazione (per le regole di business implementate gli input possono essere collegati direttamente solo al processo anticorruttivo o al sottoprocesso anticorruttivo, non al macroprocesso anticorruttivo, i cui input sono costituiti dall'unione di tutti gli input collegati ai suoi discendenti).static ArrayList<InterviewBean> retrieveInterviews(PersonBean user, int id, int level, String codeSurvey, DBWrapper db) Restituisce un ArrayList di tutte le interviste che hanno fatto riferimento al processo di cui viene passato l'identificativo ed il livello, nel contesto di una data rilevazione.
Per ogni intervista rivolta al processo di dato id, calcola e aggiunge gli indicatori all'intervista stessa.static ArrayList<ProcessBean> retrieveMacroAtBySurvey(PersonBean user, String codeSurvey, DBWrapper db) Restituisce un ArrayList (albero, vista gerarchica) di tutti macroprocessi censiti dall'anticorruzione trovati in base a una rilevazione il cui identificativo viene accettato come argomento; ogni macroprocesso contiene internamente i suoi processi e questi gli eventuali sottoprocessi.retrieveOutputs(PersonBean user, int id, int level, String codeSurvey, DBWrapper db) Restituisce un ArrayList di tutti gli output trovati in base all' identificativo di un processo o un sottoprocesso anticorruttivo e a quello di una rilevazione.static HashMap<String, InterviewBean> retrieveProcess(PersonBean user, int idP, int liv, ConcurrentHashMap<String, ArrayList<?>> processElements, String codeSur, DBWrapper db) In rispetto del paradigma DRY (Don't Repeat Yourself), centralizza il codice che effettua il recupero di tutte le liste e le informazioni necessarie per costruire la pagina dei dettagli di un processo.static voidretrieveProcess(PersonBean user, ArrayList<ItemBean> listaInput, ArrayList<ActivityBean> listaFasi, ArrayList<ItemBean> listaOutput, ArrayList<RiskBean> listaRischi, ArrayList<InterviewBean> listaInterviste, ConcurrentHashMap<String, ArrayList<?>> processElements, CodeBean survey) Valorizza per riferimento una mappa sincronizzata contenente tutti gli elementi appartenenti ad uno stesso processo.static ArrayList<ProcessBean> retrieveProcessAtBySurvey(PersonBean user, String codeSurvey, DBWrapper db) Restituisce un ArrayList (albero, vista gerarchica) di tutti processi figli di macroprocessi censiti dall'anticorruzione nel contesto di una data rilevazione il cui identificativo viene accettato come argomento; ogni processo contiene internamente gli estremi del padre, dei figli e degli indicatori di rischio, se è stato oggetto di indagine (intervista).retrieveRisks(PersonBean user, int id, int level, String codeSurvey, DBWrapper db) Restituisce un ArrayList di tutti i rischi trovati in base all' identificativo di un processo o un sottoprocesso anticorruttivo e a quello di una rilevazione.Methods inherited from class it.rol.bean.ItemBean
compareTo, equals, getCod1, getCod2, getCod3, getCod4, getCodice, getExtraInfo, getExtraInfo1, getExtraInfo2, getExtraInfo3, getExtraInfo4, getIcona, getId, getInformativa, getLabelWeb, getLivello, getNome, getNomeClasse, getNomeReale, getOrdinale, getPaginaJsp, getUrl, getValue1, getValue1AsInt, getValue2, getValue2AsInt, getValue3, getValue3AsInt, getValue4, getValue4AsInt, hashCode, isPrivato, isUrlInterno, setCod1, setCod2, setCod3, setCod4, setCodice, setExtraInfo, setExtraInfo1, setExtraInfo2, setExtraInfo3, setExtraInfo4, setIcona, setId, setInformativa, setLabelWeb, setLivello, setNome, setNomeClasse, setNomeReale, setOrdinale, setPaginaJsp, setPrivato, setUrl, setUrlInterno, setValue1, setValue2, setValue3, setValue4, toString
-
Field Details
-
LOG
Log
-
-
Constructor Details
-
ProcessCommand
public ProcessCommand()Crea una nuova istanza di ProcessCommand
-
-
Method Details
-
init
Raccoglie i valori dell'oggetto ItemBean e li passa a questa classe command.
- Specified by:
initin interfaceCommand- Parameters:
voceMenu- la VoceMenuBean pari alla Command presente.- Throws:
CommandException- se l'attributo paginaJsp di questa command non e' stato valorizzato.
-
execute
- Gestisce il flusso principale.
- Prepara i bean.
- Passa nella Request i valori che verranno utilizzati dall'applicazione.
Manages the main flow.
Prepares the beans.
Passes the values that will be used by the application to the Request.
- Specified by:
executein interfaceCommand- Parameters:
req- la HttpServletRequest contenente la richiesta del client- Throws:
CommandException- se si verifica un problema, tipicamente nell'accesso a campi non accessibili o in qualche altro tipo di puntamento
-
loadParams
public static void loadParams(String part, javax.servlet.http.HttpServletRequest req, HashMap<String, LinkedHashMap<String, throws CommandException, AttributoNonValorizzatoExceptionString>> formParams) Valorizza per riferimento una mappa contenente tutti i valori parametrici riscontrati sulla richiesta.- Parameters:
part- la sezione corrente del sitoreq- la HttpServletRequest contenente la richiesta del clientformParams- mappa da valorizzare per riferimento (ByRef)- Throws:
CommandException- se si verifica un problema nella gestione degli oggetti data o in qualche tipo di puntamentoAttributoNonValorizzatoException- se si fa riferimento a un attributo obbligatorio di bean che non viene trovato
-
retrieveMacroAtBySurvey
public static ArrayList<ProcessBean> retrieveMacroAtBySurvey(PersonBean user, String codeSurvey, DBWrapper db) throws CommandException Restituisce un ArrayList (albero, vista gerarchica) di tutti macroprocessi censiti dall'anticorruzione trovati in base a una rilevazione il cui identificativo viene accettato come argomento; ogni macroprocesso contiene internamente i suoi processi e questi gli eventuali sottoprocessi.
- Parameters:
user- utente loggato; viene passato ai metodi del DBWrapper per controllare che abbia i diritti di fare quello che vuol farecodeSurvey- il codice della rilevazionedb- WebStorage per l'accesso ai dati- Returns:
ArrayList<ProcessBean>- lista di macroprocessi recuperati- Throws:
CommandException- se si verifica un problema nell'estrazione dei dati, o in qualche tipo di puntamento
-
retrieveProcessAtBySurvey
public static ArrayList<ProcessBean> retrieveProcessAtBySurvey(PersonBean user, String codeSurvey, DBWrapper db) throws CommandException Restituisce un ArrayList (albero, vista gerarchica) di tutti processi figli di macroprocessi censiti dall'anticorruzione nel contesto di una data rilevazione il cui identificativo viene accettato come argomento; ogni processo contiene internamente gli estremi del padre, dei figli e degli indicatori di rischio, se è stato oggetto di indagine (intervista).
- Parameters:
user- utente loggato; viene passato ai metodi del DBWrapper per controllare che abbia i diritti di fare quello che vuol farecodeSurvey- il codice della rilevazionedb- WebStorage per l'accesso ai dati- Returns:
ArrayList<ProcessBean>- lista di macroprocessi recuperati- Throws:
CommandException- se si verifica un problema nell'estrazione dei dati, o in qualche tipo di puntamento
-
retrieveInputs
public static ArrayList<ItemBean> retrieveInputs(PersonBean user, int id, int level, String codeSurvey, DBWrapper db) throws CommandException Restituisce un ArrayList di tutti gli input trovati in base all' identificativo di un processo o un sottoprocesso anticorruttivo e a quello di una rilevazione (per le regole di business implementate gli input possono essere collegati direttamente solo al processo anticorruttivo o al sottoprocesso anticorruttivo, non al macroprocesso anticorruttivo, i cui input sono costituiti dall'unione di tutti gli input collegati ai suoi discendenti).
- Parameters:
user- utente loggato; viene passato ai metodi del DBWrapper per controllare che abbia i diritti di fare quello che vuol fareid- identificativo del processo o del sottoprocesso (si capisce dal livello)level- valore specificante la tabella in cui cercare l'identificativo (2 = processo_at | 3 = sottoprocesso_at)codeSurvey- il codice della rilevazionedb- istanza di WebStorage per l'accesso ai dati- Returns:
ArrayList<ItemBean>- lista di input recuperati- Throws:
CommandException- se si verifica un problema nell'estrazione dei dati, o in qualche tipo di puntamento
-
retrieveActivities
public static ArrayList<ActivityBean> retrieveActivities(PersonBean user, int id, int level, String codeSurvey, DBWrapper db) throws CommandException Restituisce un ArrayList di tutte le fasi di un processo (o sottoprocesso) anticorruttivo nel contesto di una rilevazione.
- Parameters:
user- utente loggato; viene passato ai metodi del DBWrapper per controllare che abbia i diritti di fare quello che vuol fareid- identificativo del processo o del sottoprocesso (si capisce dal livello)level- valore specificante la tabella in cui cercare l'identificativo (2 = processo_at | 3 = sottoprocesso_at)codeSurvey- il codice della rilevazionedb- istanza di WebStorage per l'accesso ai dati- Returns:
ArrayList<ActivityBean>- lista di fasi recuperate- Throws:
CommandException- se si verifica un problema nell'estrazione dei dati, o in qualche tipo di puntamento
-
retrieveOutputs
public static ArrayList<ItemBean> retrieveOutputs(PersonBean user, int id, int level, String codeSurvey, DBWrapper db) throws CommandException Restituisce un ArrayList di tutti gli output trovati in base all' identificativo di un processo o un sottoprocesso anticorruttivo e a quello di una rilevazione.
- Parameters:
user- utente loggato; viene passato ai metodi del DBWrapper per controllare che abbia i diritti di fare quello che vuol fareid- identificativo del processo o del sottoprocesso (si capisce dal livello)level- valore specificante la tabella in cui cercare l'identificativo (2 = processo_at | 3 = sottoprocesso_at)codeSurvey- il codice della rilevazionedb- istanza di WebStorage per l'accesso ai dati- Returns:
ArrayList<ItemBean>- lista di output recuperati- Throws:
CommandException- se si verifica un problema nell'estrazione dei dati, o in qualche tipo di puntamento
-
retrieveRisks
public static ArrayList<RiskBean> retrieveRisks(PersonBean user, int id, int level, String codeSurvey, DBWrapper db) throws CommandException Restituisce un ArrayList di tutti i rischi trovati in base all' identificativo di un processo o un sottoprocesso anticorruttivo e a quello di una rilevazione.
- Parameters:
user- utente loggato; viene passato ai metodi del DBWrapper per controllare che abbia i diritti di fare quello che vuol fareid- identificativo del processo o del sottoprocesso (si capisce dal livello)level- valore specificante la tabella in cui cercare l'identificativo (2 = processo_at | 3 = sottoprocesso_at)codeSurvey- il codice della rilevazionedb- istanza di WebStorage per l'accesso ai dati- Returns:
ArrayList<RiskBean>- lista di rischi recuperati- Throws:
CommandException- se si verifica un problema nell'estrazione dei dati, o in qualche tipo di puntamento
-
retrieveInterviews
public static ArrayList<InterviewBean> retrieveInterviews(PersonBean user, int id, int level, String codeSurvey, DBWrapper db) throws CommandException Restituisce un ArrayList di tutte le interviste che hanno fatto riferimento al processo di cui viene passato l'identificativo ed il livello, nel contesto di una data rilevazione.
Per ogni intervista rivolta al processo di dato id, calcola e aggiunge gli indicatori all'intervista stessa.- Parameters:
user- utente loggato; viene passato ai metodi del DBWrapper per controllare che abbia i diritti di fare quello che vuol fareid- identificativo del processo o del sottoprocesso (si capisce dal livello)level- valore specificante la tabella in cui cercare l'identificativo (2 = processo_at | 3 = sottoprocesso_at)codeSurvey- il codice della rilevazionedb- istanza di WebStorage per l'accesso ai dati- Returns:
ArrayList<InterviewBean>- lista di interviste recuperate- Throws:
CommandException- se si verifica un problema nell'estrazione dei dati, o in qualche tipo di puntamento
-
retrieveIndicators
public static HashMap<String,InterviewBean> retrieveIndicators(PersonBean user, HashMap<String, InterviewBean> indicators, int id, int level, String codeSurvey, DBWrapper db) throws CommandExceptionPrende in input un HashMap di tutti gli indicatori, con i valori calcolati in riferimento al processo censito dall'anticorruzione di cui viene passato l'identificativo ed il livello, nel contesto di una data rilevazione, recupera le note al giudizio sintetico del PxI e le aggiunge al relativo indicatore, aggiornando poi la mappa.
Il valore del PxI è uno solo anche nel caso in cui il processo di dato id sia stato esaminato nel contesto di piú di un'intervista, producendo quindi valori molteplici, perché la mappa che accetta come argomento contiene già il valore individuato tramite l'applicazione dell'algoritmo "In dubio pro peior", che sceglie sempre il valore peggiore (ovvero il rischio piú alto) per ogni serie di valori contrastanti.- Parameters:
user- utente loggato; viene passato ai metodi del DBWrapper per controllare che abbia i diritti di fare quello che vuol fareindicators- mappa di indicatori calcolati a runtimeid- identificativo del processo o del sottoprocesso (si capisce dal livello)level- valore specificante la tabella in cui cercare l'identificativo (2 = processo_at | 3 = sottoprocesso_at)codeSurvey- il codice della rilevazionedb- istanza di WebStorage per l'accesso ai dati- Returns:
HashMap<String, InterviewBean>- lista di indicatori recuperati per il processo, con il PxI corredato di note- Throws:
CommandException- se si verifica un problema nell'estrazione dei dati, o in qualche tipo di puntamento
-
retrieveProcess
public static HashMap<String,InterviewBean> retrieveProcess(PersonBean user, int idP, int liv, ConcurrentHashMap<String, ArrayList<?>> processElements, String codeSur, DBWrapper db) throws CommandExceptionIn rispetto del paradigma DRY (Don't Repeat Yourself), centralizza il codice che effettua il recupero di tutte le liste e le informazioni necessarie per costruire la pagina dei dettagli di un processo.
Inoltre, il recupero delle informazioni viene svolto non in modo sequenziale ma parallelo, attraverso l'avviamento di threads separati, dedicati ciascuno al recupero di informazioni omogenee, al fine di velocizzare i tempi di computazione.
- Parameters:
user- utente loggato; viene passato ai metodi del DBWrapper per controllare che abbia i diritti di fare quello che vuol fareidP- identificativo del processo o del sottoprocesso (si capisce dal livello)liv- valore specificante la tabella in cui cercare l'identificativo (2 = processo_at | 3 = sottoprocesso_at)processElements- generica mappa in cui devono essere valorizzate, per riferimento, le liste di items afferenti al processocodeSur- il codice della rilevazionedb- istanza di WebStorage per l'accesso ai dati- Returns:
HashMap<String, InterviewBean>- lista di indicatori recuperati per il processo, con il PxI corredato di note- Throws:
CommandException- se si verifica un problema nell'estrazione dei dati, o in qualche tipo di puntamento
-
retrieveProcess
public static void retrieveProcess(PersonBean user, ArrayList<ItemBean> listaInput, ArrayList<ActivityBean> listaFasi, ArrayList<ItemBean> listaOutput, ArrayList<RiskBean> listaRischi, ArrayList<InterviewBean> listaInterviste, ConcurrentHashMap<String, ArrayList<?>> processElements, CodeBean survey) throws CommandExceptionValorizza per riferimento una mappa sincronizzata contenente tutti gli elementi appartenenti ad uno stesso processo.- Parameters:
user- Utente correntelistaInput- Elenco input di processolistaFasi- Elenco fasi in cui e' strutturato il processolistaOutput- Elenco output di processolistaRischi- Elenco rischi cui il processo e' espostolistaInterviste- Elenco interviste in cui il processo e' stato oggetto di indagineprocessElements- Dictionary da valorizzare ByRefsurvey- Oggetto rilevazione- Throws:
CommandException- se si verifica un puntamento a null
-
decant
public static LinkedHashMap<Integer,ProcessBean> decant(Vector<ProcessBean> processes) throws CommandException Travasa un Vector di ProcessBean in una corrispondente struttura di tipo Dictionary, LinkedHashMap, in cui le chiavi sono rappresentate da oggetti Wrapper di tipi primitivi interi (Integer) e i valori sono rappresentati dai corrispettivi elementi del Vector.
È utile per un accesso piú diretto agli oggetti memorizzati nella struttura rispetto a quanto garantito dai Vector.
- Parameters:
processes- Vector di ProcessBean da travasare in HashMap- Returns:
LinkedHashMap<Integer, ProcessBean>- Struttura di tipo Dictionary, o Mappa ordinata, avente per chiave un Wrapper dell'identificativo dell'oggetto, e per valore quest'ultimo- Throws:
CommandException- se si verifica un problema nell'accesso all'id di un oggetto, nello scorrimento di liste o in qualche altro tipo di puntamento
-
decant
public static LinkedHashMap<ProcessBean,ArrayList<ProcessBean>> decant(ArrayList<ProcessBean> areas) throws CommandException Travasa una struttura vettoriale di aree di rischio in una corrispondente struttura LinkedHashMap di tipo Dictionary, in cui le chiavi sono rappresentate dalle aree stesse e i valori sono rappresentati dai macroprocessi aggregati da ciascuna di esse.
È utile per un accesso piú diretto agli oggetti memorizzati nella struttura rispetto a quanto garantito dalla struttura vettoriale (in cui bisogna, per ogni area, scorrere tutti i macroprocessi in essa contenuti).
- Parameters:
areas- ArrayList di ProcessBean (aree) contenenti ciascuna una struttura vettoriale di altri ProcessBean (macroprocessi) da travasare in HashMap- Returns:
LinkedHashMap<ProcessBean, ArrayList<ProcessBean>>- Struttura di tipo Mappa ordinata avente per chiave un oggetto rappresentante l'area e per valore l'elenco dei suoi macroprocessi- Throws:
CommandException- se si verifica un problema nell'accesso all'id di un oggetto, nello scorrimento di liste o in qualche altro tipo di puntamento
-
decant
Estrae da una struttura di rischi, uno di essi, identificato a partire da un identificativo, passato come parametro, oppure null, se il rischio non è stato identificato.
- Parameters:
risks- struttura vettoriale di RiskBean in cui individuare l'oggetto di interesseriskId- identificativo del rischio corruttivo cercato- Returns:
RiskBean- Rischio cercato, oppure null (se non e' stato trovato)- Throws:
CommandException- se si verifica un problema nell'accesso all'id di un oggetto, nello scorrimento di liste o in qualche altro tipo di puntamento
-
decantOutputs
public static ArrayList<ItemBean> decantOutputs(ArrayList<ProcessBean> outputs) throws CommandException Travasa una struttura vettoriale ordinata di output, incapsulati sotto forma di processi (ProcessBean), in una struttura vettoriale ordinata di output, rappresentati come oggetti generici (ItemBean).
È utile per un accesso piú generale agli oggetti memorizzati nella struttura rispetto a quanto garantito da oggetti specifici come i ProcessBean.
- Parameters:
outputs- Struttura vettoriale di ProcessBean da travasare in ItemBean- Returns:
ArrayList<ItemBean>- Struttura di ItemBean in cui sono stati travasati i valori dei ProcessBean- Throws:
CommandException- se si verifica un problema nell'accesso all'id di un oggetto, nello scorrimento di liste o in qualche altro tipo di puntamento
-
filter
public static ArrayList<ItemBean> filter(ArrayList<ItemBean> allObjects, ArrayList<ItemBean> someObject) Dato un elenco complessivo di oggetti e un elenco dato di oggetti, scarta dall'elenco complessivo gli oggetti presenti nell'elento dato.- Parameters:
allObjects- elenco complessivo di oggettisomeObject- elenco specifico di oggetti- Returns:
ArrayList<ItemBean>- lista vettoriale ottenuta scartando dall'elenco maggiore gli elementi dell'elenco minore
-
printJson
public static void printJson(javax.servlet.http.HttpServletRequest req, AbstractList<ProcessBean> proc, String filename, ItemBean options) throws CommandException Gestisce la creazione di un file JSON formattato per la libreria orgchart.js (versione 1.0.5) contenente le informazioni relative alla gerarchia dei macroprocessi censiti dall'anticorruzione.
- Parameters:
req- HttpServletRequest per recuperare la path assoluta della web applicationproc- lista gerarchica dei processi da rappresentarefilename- nome del file json da generare, parametrizzatooptions- opzioni di formattazione aggiuntive- Throws:
CommandException- se si verifica un puntamento a null o in genere nei casi in cui nella gestione del flusso informativo di questo metodo si verifica un problema
-