
JBoss.orgCommunity Documentation
		The Photo Album application has a global mechanism for errors checking.
		You become informed about the error each time it occurs.
		It is possible because
		the main page of the application
		web/src/main/webapp/index.xhtml
		
		includes the
		web/src/main/webapp/includes/misc/errorPanel.xhtml:
	
...
<a4j:outputPanel id="errors" ajaxRendered="true">
<h:panelGroup rendered="#{errorHandlerBean.errorExist}">
<rich:modalPanel id="errorPanel" showWhenRendered="true" minWidth="300" minHeight="200" autosized="true">
...
</rich:modalPanel>
</h:panelGroup>
</a4j:outputPanel>
...
		Here is the listing of the errorHandlerBean class:
	
package org.richfaces.photoalbum.ui;
import java.util.ArrayList;
import java.util.List;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.AutoCreate;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Observer;
import org.jboss.seam.annotations.Scope;
import org.richfaces.photoalbum.service.Constants;
@Name("errorHandlerBean")
@Scope(ScopeType.EVENT)
@AutoCreate
public class ErrorHandlerBean {
private List<String> errors = new ArrayList<String>();
public List<String> getErrors() {
return errors;
}
public boolean isErrorExist(){
return errors.size() > 0 ;
}
@Observer(Constants.ADD_ERROR_EVENT)
public void addToErrors(String e){
errors.add(e);
}
}
		The error panel contains the  
		<a4j:outputPanel>
		component that is rendered on every Ajax request (ajaxRendered="true").
		If an error is occurred the isErrorExist() method of errorHandlerBean class
		returns "true", so the 
		<h:panelGroup> component 
		is rendered.
		In order to show nested 
		<rich:modalPanel> component
		with the collected errors 
		the "showWhenRendered" attribute
		should be set to "true".
	
       The addToErrors() method is annotated with @Observer annotation, 
       thus it observes all events with ADD_ERROR_EVENT constant and adds errors to the 
       errors List.