[jsr-314-open] Tree visit hints [Was: ADMIN: Final list of issues for JSF 2.0 and actions for each]

Martin Marinschek mmarinschek at APACHE.ORG
Sun Apr 19 00:18:30 EDT 2009


Hi Andy,

the execute state-saving part absolutely makes sense to me. For the
other thing, we said that people could just walk the component tree as
they had done it before - namely calling getFacetsAndChildren(),
a.s.o.

But you might be right that this is too tedious to do if you can just
use the tree-walker instead. So I am not against this second hint
either.

regards,

Martin



On 4/18/09, Andy Schwartz <andy.schwartz at oracle.com> wrote:
> Gang -
>
> While reviewing this list with Ed earlier this week, Ed and I discussed
> very small issue that is not mentioned in the list but which we agreed
> to at least consider fixing for 2.0.  The issue is related to tree
> visiting and state saving.  I believe that it is likely that certain
> components may need to visit their children in a somewhat different
> manner for state saving purposes - eg. a UIData may take different steps
> when visiting children for state saving as opposed to say, rendering an
> Ajax response.  However, at the moment there is no way for a visitTree()
> implementation to know that state saving is being performed.
> visitTree() implementations do have access to the current phase id via
> the FacesContext, but of course state saving does not live in its own
> phase.  In order to provide a way to inform visitTree() implementations
> that state saving is being performed, I proposed (to Ed) that we add a
> new visit hint.
>
> Currently we've got the following visit hints:
>
>>   SKIP_UNRENDERED
>>   SKIP_TRANSIENT
>>   EXECUTE_LIFECYCLE
>
>
> I would like to add this new hint:
>
>>   EXECUTE_STATE_SAVING
>
> While thinking about visit hints and UIData again, I got back to
> thinking about a use case that we had discussed in the past... Currently
> there is no way to tell components which visit their children multiple
> times (think UIData) not to bother performing iteration - ie. to only
> visit each child one time.  So, for example, in the UIData case, there
> is no way to tell the UIData component to not iterate over each row when
> visiting children.  At one point I had proposed a hint to provide
> control over this, but I never actually added this to the API.  After
> discussing this with my colleagues internally here, we realized that we
> have at least one case where we need this ability.  So, while I am in
> the VisitHint enum, I would like to also add the following new hint:
>
>>   SKIP_ITERATION
>
> I have opened up the following spec issue to track these requirements:
>
> https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=545
>
> And have also uploaded a patch which adds both of these APIs (though for
> the most part leaves the implementation alone).
>
> If anyone has comments/questions about either of these, please let me know.
>
> Ed -
>
> I realize that we did not discuss the SKIP_ITERATION proposal on our
> call.  Please let me know if you feel that it is inappropriate to add
> this.  I can  upload a new patch.
>
> Andy
>
>


-- 

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces





More information about the jsr-314-open-mirror mailing list