You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Andy Schwartz (JIRA)" <de...@myfaces.apache.org> on 2011/02/14 02:20:57 UTC

[jira] Commented: (TRINIDAD-2030) Honor SKIP_ITERATION FacesContext property

    [ https://issues.apache.org/jira/browse/TRINIDAD-2030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12994181#comment-12994181 ] 

Andy Schwartz commented on TRINIDAD-2030:
-----------------------------------------

One comment on the attached patch...

Originally I was thinking that we would skip iteration if either the SKIP_ITERATION hint is specified *or* we are in the restore view phase.  However, after seeing the following MyFaces core issue:

MYFACES-3033 Improve DebugPhaseListener for UIData and SKIP_ITERATION
https://issues.apache.org/jira/browse/MYFACES-3033

It seems that we want to allow iterating visits during the restore view phase, if only because the MyFaces DebugPhaseListener attempts to do this.  As such, the patch removes the previous phase check and only checks for the SKIP_ITERATION hint.



> Honor SKIP_ITERATION FacesContext property
> ------------------------------------------
>
>                 Key: TRINIDAD-2030
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-2030
>             Project: MyFaces Trinidad
>          Issue Type: Improvement
>          Components: Components
>    Affects Versions: 2.0.0-beta-1
>            Reporter: Andy Schwartz
>            Priority: Minor
>         Attachments: trinidad-skip-iteration.patch
>
>
> As discussed in this MyFaces core issue:
> MYFACES-3036 Support SKIP_ITERATION FacesContext property
> The JSF-314 EG (and members of Mojarra and MyFaces) agreed to use the "javax.faces.visit.SKIP_ITERATION" FacesContext property (during the 2.0 timeframe) to indicate that a tree visit should not trigger iteration in iterating components like UIData/UIRepeat.  Opening this issue to request that iterating Trinidad components (UIXIterator, UIXCollection) honor this property as well.
> Note that Trinidad already handles this centrally in UIXComponent.visitChildren:
>       // determine whether this visit should be iterating.  If it shouldn't, don't
>       // even call the protected hook.  We currently don't iterate during the
>       // restore view phase when we are visiting all of the components.
>       boolean noIterate = (visitContext.getIdsToVisit() == VisitContext.ALL_IDS) &&
>                           (context.getCurrentPhaseId() == PhaseId.RESTORE_VIEW);
>       doneVisiting =  (noIterate)
>                         ? uixParentComponent._visitAllChildren(visitContext, callback)
>                         : uixParentComponent.visitChildren(visitContext, callback);
> This issue is requesting that we enhance the above "noIterate" test to also check the SKIP_ITERATION property.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira