[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...
Norman Richards
norman.richards at jboss.com
Thu Jun 7 23:42:52 EDT 2007
User: nrichards
Date: 07/06/07 23:42:52
Modified: src/main/org/jboss/seam/core Exceptions.java
Log:
JBSEAM-1282
Revision Changes Path
1.42 +20 -12 jboss-seam/src/main/org/jboss/seam/core/Exceptions.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Exceptions.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Exceptions.java,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- Exceptions.java 30 May 2007 03:48:12 -0000 1.41
+++ Exceptions.java 8 Jun 2007 03:42:51 -0000 1.42
@@ -35,8 +35,7 @@
import org.jboss.seam.util.XML;
/**
- * Holds metadata for pages defined in pages.xml, including
- * page actions and page descriptions.
+ * Manages the exception handler chain
*
* @author Gavin King
*/
@@ -92,20 +91,27 @@
@Create
public void initialize() throws Exception
{
- ExceptionHandler anyhandler1 = parse("/WEB-INF/exceptions.xml"); //deprecated
- ExceptionHandler anyhandler2 = parse("/WEB-INF/pages.xml");
+ List<ExceptionHandler> deferredHandlers = new ArrayList<ExceptionHandler>();
- exceptionHandlers.add( new AnnotationRedirectHandler() );
- exceptionHandlers.add( new AnnotationErrorHandler() );
+ deferredHandlers.add(parse("/WEB-INF/exceptions.xml")); // deprecated
- if ( Init.instance().isDebug() )
- {
- exceptionHandlers.add( new DebugPageHandler() );
+ for (String pageFile: Pages.instance().getResources()) {
+ deferredHandlers.add(parse(pageFile));
+ }
+
+ addHandler(new AnnotationRedirectHandler());
+ addHandler(new AnnotationErrorHandler());
+
+ if (Init.instance().isDebug()) {
+ addHandler(new DebugPageHandler());
}
- if (anyhandler1!=null) exceptionHandlers.add(anyhandler1);
- if (anyhandler2!=null) exceptionHandlers.add(anyhandler2);
+ for (ExceptionHandler handler: deferredHandlers) {
+ addHandler(handler);
}
+ }
+
+
private ExceptionHandler parse(String fileName) throws DocumentException, ClassNotFoundException
{
@@ -165,8 +171,10 @@
public void addHandler(ExceptionHandler handler)
{
+ if (handler != null) {
exceptionHandlers.add(handler);
}
+ }
public static Exceptions instance()
{
More information about the jboss-cvs-commits
mailing list