You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Nikolay Petrov (JIRA)" <de...@myfaces.apache.org> on 2006/09/21 16:17:23 UTC
[jira] Commented: (MYFACES-1409) incorrect behavior after
RESTORE_VIEW responseComplete
[ http://issues.apache.org/jira/browse/MYFACES-1409?page=comments#action_12436541 ]
Nikolay Petrov commented on MYFACES-1409:
-----------------------------------------
After calling listeners in restore view phase(and every other) there is the following snippet:
...
if (isResponseComplete(facesContext, executor.getPhase(), false)
|| shouldRenderResponse(facesContext, executor.getPhase(), false)) {
// since this phase is completed we don't need to return right away even if the response is completed
skipFurtherProcessing = true;
}
if (!skipFurtherProcessing && log.isTraceEnabled()) {
log.trace("exiting " + executor.getPhase() + " in " + LifecycleImpl.class.getName());
}
return skipFurtherProcessing;
...
This breaks the phase execution cycle and returns back to the servlet, where render of the Lifecycle is executed. And the method starts with:
...
public void render(FacesContext facesContext) throws FacesException {
// if the response is complete we should not be invoking the phase listeners
if(isResponseComplete(facesContext, renderExecutor.getPhase(), true)) {
return;
}
...
This means that render response phase is actually not executed. So the next thing on request comming through jsf servlet would be restore view phase again. Is that correct?
> incorrect behavior after RESTORE_VIEW responseComplete
> ------------------------------------------------------
>
> Key: MYFACES-1409
> URL: http://issues.apache.org/jira/browse/MYFACES-1409
> Project: MyFaces Core
> Issue Type: Bug
> Components: General
> Affects Versions: 1.1.5-SNAPSHOT
> Environment: Windows XP, apache-tomcat-5.5.17
> Reporter: Leonid Mikhailov
> Fix For: 1.1.5-SNAPSHOT
>
>
> The following behavior appears to be incorrect in myfaces implementation of JSF.
> After FacesContext.responseComplete is issued in the afterPhase method of the PhaseListener at the RESTORE_VIEW phase, myfaces implementation skips to RENDER_RESPONSE phase. This appears to be incorrect, as following a call to FacesContext.responseComplete JSF implementation should exit JSF lifecycle completely, i.e. the next phase of the lifecycle should be again RESTORE_VIEW.
>
> This problem can be observed when running Sun's Progress Bar with JSF and AJAX Sample with myfaces libraries on Tomcat.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira