ICEfaces
  1. ICEfaces
  2. ICE-11210

NullPointerException thrown DOMPartialViewContext

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.3.0.GA_P02, EE-3.3.0.GA_P04
    • Fix Version/s: EE-3.3.0.GA_P05
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      All

      Description

      A customer has reported an issue where they get an NPE from the DOMPartialViewContext class. They have provided an analysis of the errors and suggested some changes. This analysis is in an attach word doc.

      Currently I don't have details on what is happening when this issue is thrown or a test case. This has been requested from the customer and I'll update the JIRA once I have the details.

      The customer is using a patched EE 3.3.0 P02 release. I've looked at the code but I don't see any significant changes made to the code referenced.

      Let me know if any other information is required.
      1. analysis.docx
        23 kB
        Arran Mccullough

        Activity

        Arran Mccullough created issue -
        Arran Mccullough made changes -
        Field Original Value New Value
        Assignee Ken Fyten [ ken.fyten ]
        Security Private [ 10001 ]
        Arran Mccullough made changes -
        Attachment analysis.docx [ 22418 ]
        Ken Fyten made changes -
        Assignee Ken Fyten [ ken.fyten ] Mircea Toma [ mircea.toma ]
        Assignee Priority P1 [ 10010 ]
        Hide
        Mircea Toma added a comment - - edited

        I agree with the recommandation made by our customer of using null object pattern to make sure there's always a value returned. It makes sense since we assume that the old document is available during post-backs. But in this case the old document is null because the submit does not contain the javax.faces.ViewState parameter. This is an issue that we met and handled in the past (ICE-10266).

        The applied fix does not solve the problem our customer has but points to the source of it. So now an exception is thrown instead of returning null which allows us to specify the source of the problem (the missing javax.faces.ViewState paramater).

        Show
        Mircea Toma added a comment - - edited I agree with the recommandation made by our customer of using null object pattern to make sure there's always a value returned. It makes sense since we assume that the old document is available during post-backs. But in this case the old document is null because the submit does not contain the javax.faces.ViewState parameter. This is an issue that we met and handled in the past (ICE-10266). The applied fix does not solve the problem our customer has but points to the source of it. So now an exception is thrown instead of returning null which allows us to specify the source of the problem (the missing javax.faces.ViewState paramater).
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s EE-3.3.0.GA_P05 [ 13082 ]
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        Mircea Toma added a comment -

        Acquire navigation case before navigation is executed to ensure that a non-null value is returned.

        Show
        Mircea Toma added a comment - Acquire navigation case before navigation is executed to ensure that a non-null value is returned.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: