Componente CommandBar

Utilice el componente CommandBar para integrar botones de acción en la aplicación. El componente crea los botones para las acciones de la interfaz de usuario y gestiona los sucesos que se crean al pulsar un botón.

Estos botones desencadenan funciones que actúan sobre objetos que la interfaz com.ibm.bpe.jsf.handler.ItemProvider devuelve, como la clase BPCListHandler o la clase BPCDetailsHandler. El componente CommandBar utiliza el proveedor de elementos que se define mediante el valor del atributo model del código bpe:commandbar.

Proceso de los mandatos

Cuando se pulsa un botón de la sección de barra de mandatos de la interfaz de usuario de la aplicación, el componente CommandBar gestiona el suceso asociado del siguiente modo:
  1. El componente CommandBar identifica la implementación de la interfaz com.ibm.bpc.clientcore.Command que se especifica para el botón que ha generado el suceso.
  2. Si el modelo asociado al componente CommandBar implementa la interfaz com.ibm.bpe.jsf.handler.ErrorHandler, se invoca al método clearErrorMap para eliminar mensajes de error de sucesos anteriores.
  3. Se llama al método getSelectedItems de la interfaz ItemProvider. La lista de elementos que se devuelve se pasa al mandato execute del mandato y se invoca al mandato.
  4. El componente CommandBar determina el destino de navegación JSF (JavaServer Faces). Si no se especifica un atributo action en el código bpe:commandbar, el valor devuelto del método execute especifica el destino de navegación. Si se establece el atributo action en un enlace de método JSF, la serie que devuelve el método se interpreta como el destino de navegación. El atributo action también puede especificar un destino de navegación explícito.

Manejo de errores

Se desencadena un mandato únicamente si una de estas condiciones es verdadera:
  • No se genera una excepción
  • Si se genera una excepción, se trata de una excepción ErrorsInCommandException
Hay varios modos de implementar el manejo de errores del componente CommandBar:
  • Puede decidir no utilizar ninguna de las características del componente CommandBar. Si, por ejemplo, desea mostrar los errores en una página que es específica del mandato seleccionado, la implementación del mandato puede obtener las excepciones que se producen y propagarlas a un bean de página que se utiliza para la página de errores. Puede hacer que el bean de página esté disponible para la implementación de mandatos utilizando el atributo de contexto del código bpe:commandbar. Después de que se establece la excepción en el bean de página, el mandato devuelve la serie de la norma de navegación JSF definida para la página de errores.
  • Si desea mostrar un mensaje de error a continuación de la sección de barra de mandatos de la interfaz de usuario, cree una clase de excepción que implementa la interfaz de marcador com.ibm.bpc.clientcore.exception.CommandBarMessage. Esta interfaz proporciona un catálogo de mensajes de mensajes de error.
  • Si el mandato opera sobre una lista de elementos, quizá desee realizar un seguimiento del éxito del mandato con todos los elementos de la lista. Para realizar un seguimiento de los errores, correlacione cada excepción con el elemento para el que la operación ha producido un error. El componente CommandBar puede pasar una correlación, que contiene los identificadores como claves y las excepciones como valores, con el objeto de modelo que se define para el componente CommandBar.

    Para que funcione este mecanismo, el objeto de modelo debe implementar la interfaz com.ibm.bpe.jsf.handler.ErrorHandler y el mandato debe generar una excepción com.ibm.bpc.clientcore.exception.ErrorsInCommandException. El componente CommandBar luego pasa la correlación contenida en la excepción al manejador de errores. Se desencadena el método action aunque se haya producido un error y se renueva la vista actual. La aplicación Explorador de Business Process Choreographer utiliza este método para mostrar excepciones en listas.

  • Si genera una excepción ClientException que no implementa la interfaz CommandBarMessage y no se trata de una excepción ErrorsInCommandException, el componente CommandBar propaga la excepción al bean de error BPCError definido en el archivo de configuración de la aplicación. El proceso de errores continúa con el destino de navegación del error.

Condiciones de uso |

Última actualización: Wed Apr 19 21:34:07 2006

(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)