-
Type:
New Feature
-
Status: Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: facesbridge-api-6.0.0, facesbridge-spec-6.0.0
-
Component/s: FacesBridge API, FacesBridge Spec
-
Labels:None
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.