[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