ICEfaces
  1. ICEfaces
  2. ICE-3614

GroupAsyncRenderer throws NullPointerException when constructed via a non JSF thread

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.1, 1.7.2
    • Fix Version/s: 1.7.2 SP1, 1.8DR#2, 1.8
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Ajax Push

      Description

      The code where this occurs is the constructor for GroupAsyncRenderer:

      public GroupAsyncRenderer() {
        applicationMap = FacesContext.getCurrentInstance().getExternalContext().getApplicationMap();
      }

      The applicationMap is only required to retrieve the ServletContext under certain circumstances when using the SessionRenderer. We need to refactor to ensure that the map is retrieved as lazily and reduntantly as possible, and only in situations when actually required.

        Activity

        Hide
        Jack Van Ooststroom added a comment -

        The offending FacesContext.getCurrentInstance() call is moved from the GroupAsyncRenderer's constructor to the requestRender(String) method. Additionally, guards are in place now warning the user when an invocation is done on a non-JSF thread to one of the methods that require the JSF context. Marking this one as FIXED.

        Show
        Jack Van Ooststroom added a comment - The offending FacesContext.getCurrentInstance() call is moved from the GroupAsyncRenderer's constructor to the requestRender(String) method. Additionally, guards are in place now warning the user when an invocation is done on a non-JSF thread to one of the methods that require the JSF context. Marking this one as FIXED.

          People

          • Assignee:
            Unassigned
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: