Ciascuna istanza del componente Elenco è associata ad un'istanza della classe com.ibm.bpe.jsf.handler.BPCListHandler.
Questo gestore elenchi traccia gli elementi selezionati nell'elenco associato e fornisce un meccanismo di notifica. Il gestore elenchi è associato al componente Elenco tramite l'attributo model della tag bpe:list.
Il meccanismo di notifica del gestore eventi viene implementato utilizzando l'interfaccia com.ibm.bpe.jsf.handler.ItemListener. Business Process Choreographer Explorer utilizza il meccanismo di notifica per associare le voci dell'elenco alle pagine dei dettagli per i differenti tipi di elementi. Il trigger di un evento di notifica è, in genere, una delle proprietà delle voci visualizzate nell'elenco corrente.
Per sfruttare il meccanismo di notifica, impostare il valore dell'attributo action del tag bpe:column per la proprietà sulla destinazione di navigazione JSF (JavaServer Faces) (JSF) con cui l'applicazione continua quando viene attivitato l'evento di notifica. Il componente Elenco rende la voce nella colonna come link al comando JSF. Se viene eseguito il trigger del link, viene determinato l'oggetto che rappresenta la voce nell'elenco e viene inoltrato a tutti i listener dell'elemento registrato. È possibile registrare le implementazioni di questa interfaccia nel file di configurazione dell'applicazione JSF.
La classe BPCListHandler fornisce anche un metodo refreshList. È possibile utilizzare questo metodo nei bind del metodo JSF per implementare un controllo dell'interfaccia utente per eseguire di nuovo la query.
È possibile utilizzare il gestore elenchi per visualizzare tutti i tipi di oggetti e le relative proprietà. Il contenuto dell'elenco che viene visualizzato dipende dall'elenco degli oggetti che viene restituito dall'implementazione dell'interfaccia com.ibm.bpc.clientcore.Query configurata per il gestore elenco. È possibile impostare la query in modo automatico utilizzando il metodo setQuery della classe BPCListHandler oppure è possibile configurarla nei file di configurazione JSF dell'applicazione.
È possibile restituire le query non solo con le API di Business Process Choreographer, ma anche con altre origini delle informazioni accessibili dall'applicazione, ad esempio, un sistema di gestione del contenuto o un database. Il solo requisito è che il risultato della query viene restituito come java.util.List degli oggetti dal metodo execute.
Il tipo di oggetti restituiti deve garantire che siano disponibili i metodi getter appropriati per tutte le proprietà visualizzate nelle colonne dell'elenco per cui è definita la query. Per assicurare che il tipo di oggetto restituito corrisponda alle definizioni dell'elenco, è possibile impostare il valore della proprietà del tipo nell'istanza BPCListHandler definita nel file di configurazione faces con il nome completo della classe degli oggetti restituiti. È possibile restituire questo nome nel richiamo getType dell'implementazione della query. Al runtime, il gestore elenchi verifica che i tipi di oggetto sono conformi alle definizioni.
Per mappare i messaggi di errore a voci specifiche in un elenco, gli oggetti restituiti dalla query devono implementare un metodo con la firma public Object getID().
Se si verifica un errore durante l'esecuzione di una query, la classe BPCListHandler distingue tra gli errori causati dai privilegi di accesso insufficienti ed altre eccezioni. Per rilevare gli errori dovuti a privilegi di accesso insufficienti, il parametro rootCause di ClientException restituito dal metodo execute della query deve essere un'eccezione com.ibm.bpe.api.EngineNotAuthorizedException oppure com.ibm.task.api.NotAuthorizedException. Il componente Elenco visualizza il messaggio di errore invece del risultato della query.
Se l'errore non è causato da privilegi di accesso insufficienti, la classe BPCListHandler inoltra l'oggetto dell'eccezione all'implementazione dell'interfaccia com.ibm.bpc.clientcore.util.ErrorBean definita dalla chiave BPCError nel file di configurazione dell'applicazione JSF. Quando viene impostata l'eccezione, viene richiamata la destinazione di navigazione dell'errore.
La classe BPCListHandler implementa l'interfaccia com.ibm.bpe.jsf.handler.ErrorHandler. È possibile fornire informazioni su tali errori con il parametro della mappa di tipo java.util.Map nel metodo setErrors. Questa mappa contiene gli identificativi come chiavi e le eccezioni come valori. Gli identificativi devono essere valori restituiti dal metodo getID dell'oggetto che ha causato l'errore. Se la mappa è impostata e ogni ID corrisponde a ciascun elemento visualizzato nell'elenco, il gestore elenchi aggiunge automaticamente all'elenco una colonna contenente il messaggio di errore.
(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)