Componente CommandBar

Utilizzare il componente CommandBar per aggiungere i pulsanti di azione all'applicazione. Il componente crea i pulsanti per le azioni nell'interfaccia utente e gestisce gli eventi che vengono creati quando si fa clic su un pulsante.

Queste funzioni di trigger dei pulsanti che agiscono sugli oggetti restituiti da un'interfaccia com.ibm.bpe.jsf.handler.ItemProvider, come ad esempio la classe BPCListHandler o la classe BPCDetailsHandler. Il componente CommandBar utilizza il provider dell'elemento definito dal valore dell'attributo model nel tag bpe:commandbar.

Come vengono elaborati i comandi

Quando si fa clic su un pulsante nella sezione della barra dei comandi dell'interfaccia utente, l'evento associato viene gestito dal componente CommandBar nel modo seguente.
  1. Il componente CommandBar identifica l'implementazione dell'interfaccia com.ibm.bpc.clientcore.Command specificata per il pulsante che ha generato l'evento.
  2. Se il modello associato al componete CommandBar implementa l'interfaccia com.ibm.bpe.jsf.handler.ErrorHandler, viene richiamato il metodo clearErrorMap per rimuovere i messaggi di errore dagli eventi precedenti.
  3. Viene richiamato il metodo getSelectedItems dell'interfaccia ItemProvider. L'elenco di elementi che viene restituito è inoltrato al metodo execute del comando che viene a sua volta richiamato.
  4. Il componente CommandBar determina la destinazione di navigazione JSF (JavaServer Faces). Se non viene specificato un attributo action nel tag bpe:commandbar tag, il valore restituito del metodo execute specifica la destinazione di navigazione. Se l'attributo action è impostato per il collegamento del metodo JSF, la stringa restituita dal metodo viene interpretata come destinazione di navigazione. L'attributo action può anche definire una destinazione di navigazione esplicita.

Gestione degli errori

Viene richiamato un metodo dell'azione specificato dall'attributo action nel tag bpe:commandbar se si verifica una delle seguenti condizioni:
  • Non viene restituita un'eccezione
  • Se viene restituita un'eccezione, si tratta di un'eccezione ErrorsInCommandException
È possibile implementare la gestione degli errori nel componente CommandBar in diversi modi:
  • È possibile decidere di non utilizzare le funzioni del componente CommandBar. Se, ad esempio si desidera visualizzare gli errori in una pagina specifica per il comando selezionato, l'implementazione del comando può raccogliere le eccezioni che si verificano e propagarle in un bean di pagina che viene utilizzato per la pagina degli errori. È possibile rendere disponibile il bean della pagina all'implementazione del comando utilizzando l'attributo context del tag bpe:commandbar. Una volta impostata l'eccezione in un bean della pagina, il comando restituisce la stringa della regola di navigazione JSF definita per la pagina di errore.
  • Se si desidera visualizzare un messaggio di errore in basso nella sezione command-bar, nell'interfaccia utente, creare una classe di eccezioni che implementi l'interfaccia di contrassegno com.ibm.bpc.clientcore.exception.CommandBarMessage. Questa interfaccia fornisce un catalogo di messaggi di errore.
  • Se il comando funziona in un elenco di elementi, è possibile desiderare di tracciare la riuscita del comando per ciascuno degli elementi dell'elenco. Per tracciare gli errori, eseguire la mappatura dell'eccezione all'elemento per cui l'operazione non è riuscita. Il componente CommandBar può inoltrare una mappa, che contiene gli identificativi come chiavi e le eccezioni come valori, all'oggetto di modello definito per il componente CommandBar.

    Per il funzionamento di questo meccanismo, l'oggetto del modello deve implementare l'interfaccia com.ibm.bpe.jsf.handler.ErrorHandler e il comando deve restituire un'eccezione com.ibm.bpc.clientcore.exception.ErrorsInCommandException. Il componente CommandBar quindi inoltra la mappa contenuta nell'eccezione al gestore errori. Il metodo dell'azione viene fatto scattare sebbene si sia verificato un errore e la vista corrente viene aggiornata. L'applicazione Business Process Choreographer Explorer utilizza questo metodo per visualizzare le eccezioni negli elenchi.

  • Se viene restituita un'eccezione ClientException che non implementa l'interfaccia CommandBarMessage e l'eccezione non è un'ErrorsInCommandException, il componente CommandBar propaga l'eccezione al bean dell'errore BPCError definito nel file di configurazione dell'applicazione. L'elaborazione dell'errore continua con la pagina di errore.

(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)