You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonid Mikhailov (JIRA)" <de...@myfaces.apache.org> on 2006/09/19 20:17:24 UTC
[jira] Created: (MYFACES-1409) incorrect behavior after
responseComplete
incorrect behavior after 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
[jira] Commented: (MYFACES-1409) incorrect behavior after
RESTORE_VIEW responseComplete
Posted by "Manfred Geiler (JIRA)" <de...@myfaces.apache.org>.
[ http://issues.apache.org/jira/browse/MYFACES-1409?page=comments#action_12452172 ]
Manfred Geiler commented on MYFACES-1409:
-----------------------------------------
I don't get it.
Your log documents correct behaviour:
After the first RESTORE_VIEW when responseComplete = true there is no RENDER_RESPONSE following.
In the next (new!) Lifecycle, after the second RESTORE_VIEW the responseComplete = false (!) and the RENDER_RESPONSE is executed. This is ok.
Please, more info on that issue.
Thanks,
Manfred
> 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
>
> Attachments: ajax-progress-bar-jsf-MyFaces.war
>
>
> 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
[jira] Commented: (MYFACES-1409) incorrect behavior after
RESTORE_VIEW responseComplete
Posted by "Leonid Mikhailov (JIRA)" <de...@myfaces.apache.org>.
[ http://issues.apache.org/jira/browse/MYFACES-1409?page=comments#action_12452595 ]
Leonid Mikhailov commented on MYFACES-1409:
-------------------------------------------
Manfred,
I believe there is an incompaibility in the behvior between MyFaces and JSF-RI which the attached ajax-progress-bar sample from the Sun's blueprint catalog illustrates.
Concerning the trace, it is not the same trace one gets when running this code against JSF-RI. I guess that is exactly why the sample does not work correctly.
Run the sample and see for yourself.
Regards,
Leonid
> 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
>
> Attachments: ajax-progress-bar-jsf-MyFaces.war
>
>
> 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
[jira] Commented: (MYFACES-1409) incorrect behavior after
RESTORE_VIEW responseComplete
Posted by "Nikolay Petrov (JIRA)" <de...@myfaces.apache.org>.
[ 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