Details

      Description

      Occasionally there is an incongruity (a mismatch) between the Portlet lifecycle and the JSF lifecycle.

      Example: Sometimes the JSF implementation or a JSF ActionListener will call methods like ExternalContext#setContentType(String) during the Portlet javax.portlet.PortletRequest#ACTION_PHASE. In this case, the Portlet lifecycle is working with a javax.portlet.ActionResponse but there is no corresponding method. Technically the only time such a method could be called would be during the javax.portlet.PortletRequest#RENDER_PHASE} because the

      {@link javax.portlet.RenderResponse}

      class has a setContentType(String) method.

      This issue serves as a task to create a new javax.portlet.faces.context.IncongruityContext class with corresponding javax.portlet.faces.context.IncongruityContextWrapper and javax.portlet.faces.context.IncongruityContextFactory classes.

      The purpose of the IncongruityContext will be to handle these lifecycle incongruities. Please refer to the issue sub-tasks for specific incongruity use-cases.

        Attachments

          Activity

            People

            • Assignee:
              neil.griffin Neil Griffin
              Reporter:
              neil.griffin Neil Griffin
              Participants of an Issue:
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: