Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0
    • Fix Version/s: 2.2 Sprint 11 B
    • Component/s: Navigation
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: Macintosh

    • Issuezilla Id:
      809
    • Status Whiteboard:
      Hide

      size_large importance_medium

      Show
      size_large importance_medium
    • Tags:

      Description

      In Facelets 1.x, it was possible to implement load views from external locations (such as the class path,
      or a repository) by providing a ResourceResolver implementation.

      The ResourceResolver is also present in JSF 2, so this is still possible. However, there is a new
      requirement. Implicit navigation calls ExternalContext.getResource() to determine whether a view id
      corresponds to a physical resource. If ExternalContext.getResource() returns a non-null URL, implicit
      navigation to the view id is allowed.

      This contract is not ideal, as:

      1. It is non-obvious.
      2. It requires hooking into multiple locations.
      3. It makes it difficult to distinguish between requests for view ids vs. other types of resources.

      Regarding #3… ExternalContext.getResource() may be used for all sorts of resources. In our case we
      only want to search our external repositories when a view id is requested, but not, say, when someone
      calls getResource() to load some other type of file (eg. a style sheet).

      We need to introduce a cleaner contract that simplifies the responsibilities for custom view loading
      implementations.

        Issue Links

          Activity

          Ed Burns logged work - 24/Feb/12 9:12 PM
          • Time Spent:
            2 hours
             
            <No comment>

            People

            • Assignee:
              Ed Burns
              Reporter:
              aschwart
            • Votes:
              2 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 hours
                2h