Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: General
    • Labels:
      None

      Description

      See http://www.mail-archive.com/dev@myfaces.apache.org/msg50721.html

      And from http://wiki.java.net/bin/view/Projects/Jsf2RequirementsScratchpad:

      Better Error reporting, like what you get with Tapestry (also in
      JSR-252-EG, where it was said: any time there is an error in any
      part of the lifecycle, the user should see not just a cryptic stack
      trace, but also the component - including file and line number - that
      triggered the problem, the EL expression that was being evaluated -
      including the part of the EL expression that triggered the problem,
      etc. Diagnosability for state saving is also important. On this point,
      Gavin King wants to have centralized error handling, with an
      interception point, perhaps using navigation rules, to help handle
      errors.)

      1. Improve error reporting and logging: report duplicate converters, validators, etc. Sub-task Open Unassigned
       
      2. Handing exception (in exception handler) from render response phase with forward/redirect is inconsistent Sub-task Open Unassigned
       
      3.
      exception from render response phase is logged 2x Sub-task Closed Leonardo Uribe
       
      4.
      Unwrap exception in ErrorPageWriter.handleThrowable Sub-task Closed Leonardo Uribe
       
      5.
      exception from UIInput.updateModel is logged 2x Sub-task Closed Martin Kočí
       
      6. Unify exception handling from render_response component.encodeAll Sub-task Open Unassigned
       
      7.
      Handling AbortProcessingException is unconsistent Sub-task Closed Leonardo Uribe
       
      8. Publish exception in lifecycle methods (process*) instead of re-thrown Sub-task Open Unassigned
       
      9.
      Improve EL Exceptions wrapping Sub-task Closed Martin Kočí
       
      10. improve h:form problems diagnostics Sub-task Open Unassigned
       
      11.
      ErrorPageWriter: provide info about component(s) that triggered the problem Sub-task Closed Martin Kočí
       
      12. General ErrorPage improvements Sub-task Open Unassigned
       
      13.
      Remove exception wrapping with FacesException and with getPathToComponent Sub-task Closed Martin Kočí
       
      14. Create and use structure for facelets Location and TagAttribute-aware exceptions Sub-task Open Martin Kočí
       
      15. Use ViewNotFoundException in org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory.resolveURL Sub-task Open Unassigned
       
      16. Unify handling of errors in development project stage Sub-task Open Unassigned
       
      17. Unify exceptions in Facelets VDL.buildView() Sub-task Open Unassigned
       
      18. Output same info to console (with logger) as in ErrorPageWriter Sub-task Open Unassigned
       
      19. Unify warnings in development stage Sub-task Open Unassigned
       
      20. Create infrastructure for improved logging Sub-task Open Martin Kočí
       
      21.
      RendererUtils.getPathToComponent : output Location in view Sub-task Closed Martin Kočí
       
      22. Unify logging in different project stages Sub-task Open Unassigned
       
      23.
      Improve warnings in HtmlImageRendererBase Sub-task Closed Martin Kočí
       
      24. Improve logging and exception handling for UILeaf Sub-task Open Martin Kočí
       
      25.
      Remove unncecessary exception wrapping Sub-task Closed Martin Kočí
       
      26.
      Improve exception handling for f:setPropertyActionListener and EL coercion Sub-task Closed Martin Kočí
       
      27.
      Improve exception handling for "duplicate id "id" found" Sub-task Closed Martin Kočí
       
      28.
      Improve log message in RendererUtils.getClientId with component location Sub-task Closed Martin Kočí
       

        Activity

        Hide
        Leonardo Uribe added a comment -

        Added some bug fixes and enhancements:

        • Fix Ajax case and myfaces error handling disabled.
        • Add MyFacesExceptionHandlerWrapperImpl and remove ErrorPageWriter.handleThrowable try/catch blocks, this solves MYFACES-3193
        • Output multiple exception stack traces
        • Disable MyFaces exception handling if Project Stage is not development. Before, it was enabled in stages like Production, but this is not wanted to comply with JSF 2.0 spec (Mojarra disables it too). In this way, it should be enabled in a explicit way in production.
        • Remove ErrorPageWriter.handleThrowable block from ResourceHandler implementation, because there is no view there and is not meaningful in such situation (serve html when text/css or text/javascript is expected doesn't sounds good).
        Show
        Leonardo Uribe added a comment - Added some bug fixes and enhancements: Fix Ajax case and myfaces error handling disabled. Add MyFacesExceptionHandlerWrapperImpl and remove ErrorPageWriter.handleThrowable try/catch blocks, this solves MYFACES-3193 Output multiple exception stack traces Disable MyFaces exception handling if Project Stage is not development. Before, it was enabled in stages like Production, but this is not wanted to comply with JSF 2.0 spec (Mojarra disables it too). In this way, it should be enabled in a explicit way in production. Remove ErrorPageWriter.handleThrowable block from ResourceHandler implementation, because there is no view there and is not meaningful in such situation (serve html when text/css or text/javascript is expected doesn't sounds good).
        Hide
        Martin Kočí added a comment -

        I will commit some patches for this area - but only new classes for the new exception handling and logging infrastructure. If change in current codebase needed, I'll attach it as patch for discussion first. When we resolve this issue completely, we can backport result to 2.0 branch.

        Show
        Martin Kočí added a comment - I will commit some patches for this area - but only new classes for the new exception handling and logging infrastructure. If change in current codebase needed, I'll attach it as patch for discussion first. When we resolve this issue completely, we can backport result to 2.0 branch.

          People

          • Assignee:
            Unassigned
            Reporter:
            Martin Kočí
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development