Class HomePageCommand
- All Implemented Interfaces:
Command,Constants,Serializable,Comparable<ItemBean>
HomePageCommand.java
Gestisce la root dell'applicazione.
- 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 TypeMethodDescriptionvoidexecute(javax.servlet.http.HttpServletRequest req) Gestisce il flusso principale.static StringgetAttributes(javax.servlet.http.HttpServletRequest req) Restituisce i nomi e i valori degli attributi presenti in Request in un dato momento e in un dato contesto, rappresentati dallo stato del chiamante.static CodeBeanRestituisce la rilevazione con data piú recente.static PersonBeangetLoggedUser(javax.servlet.http.HttpServletRequest req) Restituisce l'utente loggato, se lo trova nella sessione utente, altrimenti lancia un'eccezione.static StringgetParameters(javax.servlet.http.HttpServletRequest req, String mime) Restituisce i nomi e i valori dei parametri presenti in Request in un dato momento e in un dato contesto, rappresentati dallo stato del chiamante.voidRaccoglie i valori dell'oggetto ItemBean e li passa a questa classe command.static booleanisLoggedUser(javax.servlet.http.HttpServletRequest req) Restituisce true se l'utente è loggato e se lo trova nella sessione utente, altrimenti restituisce false.static booleanisParameter(javax.servlet.http.HttpServletRequest req, String paramName) Restituiscetruese un nome di un parametro, il cui valore viene passato come argomento del metodo, esiste tra i parametri della HttpServletRequest;falsealtrimenti.static LinkedList<ItemBean> makeBreadCrumbs(String appName, String pageParams, String extraInfo) Restituisce una struttura vettoriale (with insertion order) contenente le breadcrumbs lasciate dall'utente nel percorso seguito fino alla richiesta corrente.static LinkedList<ItemBean> makeBreadCrumbs(LinkedList<ItemBean> nav, int index, ItemBean extraInfo) Prende in input una struttura di breadcrumbs già formata (serie di link corenti con il percorso seguito dall'utente fino alla richiesta corrente) e sostituisce la foglia di dato indice index con un nuovo oggetto che riceve come parametro extraInfo.static LinkedList<ItemBean> makeBreadCrumbs(LinkedList<ItemBean> nav, int items, String extraInfo) Prende in input una struttura di breadcrumbs già formata (serie di link corenti con il percorso seguito dall'utente fino alla richiesta corrente) e restituisce una struttura di breadcrumbs basata su quella ottenuta come parametro ma avente, come ultima foglia, un'etichetta passata come parametro, se questo è significativo, dando anche la possibilità di eliminare un numero di foglie a piacere, specificato tramite un parametro: 0 => non toglie nulla, 1 => toglie l'ultima foglia, 2 => toglie l'ultima e la penultima foglia etc.
Esempio:static LinkedHashMap<ItemBean, ArrayList<ItemBean>> makeMegaMenu(String appName, String surCode) Restituisce unatabella hashcontenente i sottomenu di voci di livello superiore, le quali svolgono anche la funzione di chiavi della tabella stessa.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 per debug in produzione
-
-
Constructor Details
-
HomePageCommand
public HomePageCommand()Crea una nuova istanza di HomePageCommand
-
-
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.
- Specified by:
executein interfaceCommand- Parameters:
req- HttpServletRequest contenente parametri e attributi, e in cui settare attributi- Throws:
CommandException- incapsula qualunque genere di eccezione che si possa verificare in qualunque punto del programma
-
getLoggedUser
public static PersonBean getLoggedUser(javax.servlet.http.HttpServletRequest req) throws CommandException Restituisce l'utente loggato, se lo trova nella sessione utente, altrimenti lancia un'eccezione.
- Parameters:
req- HttpServletRequest contenente la sessione e i suoi attributi- Returns:
PersonBean- l'utente loggatosi correntemente- Throws:
CommandException- se si verifica un problema nel recupero della sessione o dei suoi attributi
-
isLoggedUser
public static boolean isLoggedUser(javax.servlet.http.HttpServletRequest req) throws CommandException Restituisce true se l'utente è loggato e se lo trova nella sessione utente, altrimenti restituisce false.
- Parameters:
req- HttpServletRequest contenente la sessione e i suoi attributi- Returns:
boolean- flag di utente trovato in sessione- Throws:
CommandException- se si verifica un problema di puntamento
-
makeMegaMenu
public static LinkedHashMap<ItemBean,ArrayList<ItemBean>> makeMegaMenu(String appName, String surCode) throws CommandException Restituisce una
tabella hashcontenente i sottomenu di voci di livello superiore, le quali svolgono anche la funzione di chiavi della tabella stessa.La
tabella hashha come chiave un oggetto di tipoItemBeanche rappresenta la voce principale, e come valore una struttura vettoriale ordinata, contenente le voci del sottomenu che alla chiave fa riferimento.
Naturalmente, l'oggetto che fa da chiave implemental'Overridedei metodi necessari all'impiego come chiave, appunto, di tabella hash:equals(), hashCode()
– oltre, a fare l'Override di altri metodi, utili per gli ordinamenti:compareTo(), toString()
- Parameters:
appName- nome della web application, seguente la root, per la corretta generazione dei link delle vocisurCode- identificativo della rilevazione corrente oppure della rilevazione di default in caso di accesso utente a piu' di una rilevazione- Returns:
LinkedHashMap<ItemBean, ArrayList<ItemBean>> - tabella hash contenente il menu completo, costituita da una chiave che contiene i dati della voce principale ed un valore che contiene la lista delle sue voci- Throws:
CommandException- se si verifica un problema
-
makeBreadCrumbs
public static LinkedList<ItemBean> makeBreadCrumbs(String appName, String pageParams, String extraInfo) throws CommandException Restituisce una struttura vettoriale (with insertion order) contenente le breadcrumbs lasciate dall'utente nel percorso seguito fino alla richiesta corrente.
Non si può passare direttamente la richiesta e lasciare che il metodo si arrangi a recuperare i parametri (con getParameterNames) perché la richiesta conosciuta da questa classe non corrisponde alla richiesta del chiamante. In linea teorica, si potrebbe effettuare questa operazione, modificando questo metodo in modo che accetti la richiesta come argomento, e passandola come parametro; tuttavia, la richiesta è un oggetto oneroso, e soprattutto creerebbe confusione in una Command che è creata a sua volta per gestire richieste...
NOTA: In questa classe vi sono metodi che accettano come parametro una richiesta, ispezionandone e restituendone i valori, ma si tratta di metodi di debug, utilizzati dal programmatore finalizzati appunto ad ispezionare lo stato della richiesta, non metodi da utilizzare per generare output: quindi non è la stessa cosa.- Parameters:
appName- nome della web application, seguente la rootpageParams- la queryString contenente tutti i parametri di navigazioneextraInfo- parametro facoltativo; se significativo, permette di specificare una foglia ad hoc; in tal caso viene aggiunto il link alla ex-foglia- Returns:
LinkedList<ItemBean>- struttura vettoriale, rispettante l'ordine di inserimento, che contiene le voci seguite dall'utente nella navigazione fino alla richiesta corrente- Throws:
CommandException- se si verifica un problema nell'accesso a qualche parametro o in qualche altro puntamento
-
makeBreadCrumbs
public static LinkedList<ItemBean> makeBreadCrumbs(LinkedList<ItemBean> nav, int items, String extraInfo) throws CommandException Prende in input una struttura di breadcrumbs già formata (serie di link corenti con il percorso seguito dall'utente fino alla richiesta corrente) e restituisce una struttura di breadcrumbs basata su quella ottenuta come parametro ma avente, come ultima foglia, un'etichetta passata come parametro, se questo è significativo, dando anche la possibilità di eliminare un numero di foglie a piacere, specificato tramite un parametro:
- 0
- => non toglie nulla,
- 1
- => toglie l'ultima foglia,
- 2
- => toglie l'ultima e la penultima foglia
Esempio:makeBreadCrumbs(nav, 0, "label")
aggiunge la foglia "label" alle breadcrumbs contenute in nav (la foglia per definizione non ha link).- Parameters:
nav- lista di breadcrumbs preesistenteitems- numero di foglie da potare (opzionale)extraInfo- etichetta da aggiungere come ultima foglia (opzionale)- Returns:
LinkedList<ItemBean>- struttura vettoriale, rispettante l'ordine di inserimento, rimaneggiata- Throws:
CommandException- se si verifica un problema nell'accesso a qualche parametro o in qualche altro puntamento
-
makeBreadCrumbs
public static LinkedList<ItemBean> makeBreadCrumbs(LinkedList<ItemBean> nav, int index, ItemBean extraInfo) throws CommandException Prende in input una struttura di breadcrumbs già formata (serie di link corenti con il percorso seguito dall'utente fino alla richiesta corrente) e sostituisce la foglia di dato indice index con un nuovo oggetto che riceve come parametro extraInfo.
- Parameters:
nav- lista di breadcrumbs preesistenteindex- l'indice della foglia da sostituireextraInfo- la foglia sostitutiva- Returns:
LinkedList<ItemBean>- struttura vettoriale, rispettante l'ordine originale, rimaneggiata- Throws:
CommandException- se si verifica un problema nell'accesso a qualche parametro o in qualche altro puntamento
-
getAttributes
Restituisce i nomi e i valori degli attributi presenti in Request in un dato momento e in un dato contesto, rappresentati dallo stato del chiamante.
Può essere utilizzato per verificare rapidamente quali attributi sono presenti in Request onde evitare duplicazioni o ridondanze.
Ad esempio, richiamando questo metodo dal ramo "didattica" del sito web di ateneo, metodorequestByPagee.g.:req.setAttribute("reqAttr", getAttributes(req));e richiamandolo dalla pagina relativa, con la semplice:${reqAttr}si ottiene:dipartimento = it.univr.di.uol.bean.DipartimentoBean@518dd094 mO = {it.univr.di.uol.bean.SegnalibroBean@1ef0921d=[it.univr.di.uol.MenuVerticale@5ab38d6b, it.univr.di.uol.MenuVerticale@42099a52], it.univr.di.uol.bean.SegnalibroBean@4408bdc9=[it.univr.di.uol.MenuVerticale@4729f5d], it.univr.di.uol.bean.SegnalibroBean@19e3fa04=[it.univr.di.uol.MenuVerticale@13c94f3], it.univr.di.uol.bean.SegnalibroBean@463329e3=[it.univr.di.uol.MenuVerticale@3056de27]} lingue = it.univr.di.uol.Lingue@3578ce60 FirstLanguage = it flagsUrl = ent=homeinvalid input: '&page'=didattica SecondLanguage = en logoFileDoc = [[it.univr.di.uol.bean.FileDocBean@5b11bbf9]] currentYear = 2015- Parameters:
req- HttpServletRequest contenente gli attributi che si vogliono conoscere- Returns:
- un unico oggetto contenente tutti i valori e i nomi degli attributi settati in request nel momento in cui lo chiede il chiamante
-
getParameters
Restituisce i nomi e i valori dei parametri presenti in Request in un dato momento e in un dato contesto, rappresentati dallo stato del chiamante.
Può essere utilizzato per verificare rapidamente quali parametri sono presenti in Request onde evitare duplicazioni e/o ridondanze.
Esempi di richiamo: String par = HomePageCommand.getParameters(req, MIME_TYPE_HTML); String par = HomePageCommand.getParameters(req, MIME_TYPE_TEXT);
- Parameters:
req- HttpServletRequest contenente i parametri che si vogliono conosceremime- argomento specificante il formato dell'output desiderato- Returns:
- un unico oggetto contenente tutti i valori e i nomi dei parametri settati in request nel momento in cui lo chiede il chiamante
-
isParameter
Restituisce
truese un nome di un parametro, il cui valore viene passato come argomento del metodo, esiste tra i parametri della HttpServletRequest;falsealtrimenti.Può essere utilizzato per verificare rapidamente se un dato parametro sia stato passato in Request.
- Parameters:
req- HttpServletRequest contenente i parametri che si vogliono conoscereparamName- argomento specificante il nome del parametro cercato- Returns:
- un unico oggetto contenente tutti i valori e i nomi dei parametri settati in request nel momento in cui lo chiede il chiamante
-
getLastSurvey
Restituisce la rilevazione con data piú recente.
- Returns:
LinkedList<CodeBean>- una lista ordinata di tutti i possibili valori con cui puo' essere descritta la complessita' di un elemento- Throws:
AttributoNonValorizzatoException- se l'id del CodeBean che rappresenta l'ultima rilevazione non e' stato valorizzato (p.es. per un difetto della query)
-