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