dev@javaserverfaces.java.net

Re: Checking in Andy's 180-TreeVisitor API

From: Andy Schwartz <andy.g.schwartz_at_gmail.com>
Date: Wed, 10 Dec 2008 11:08:37 -0500

Hi Ed -

Ed Burns wrote On 12/10/2008 9:02 AM ET:
> Andy, are you on dev? If so, I'll not manually add you to the To: list.
>
>

I was not on dev - hopefully if this email gets through it means I am now. :-)

> AS> 1. Move PartialVisitContext/FullVisitContext out of the API.
>
> Andy, this was part of my initial checkin, so you're off the hook there.
> Please check it of course.
>

Cool, will do.

> AS> 2. Adjust VisitContext contract as necessary to account for the fact
> AS> that we'll no longer have a PartialVisitContext API (may need to promote
> AS> some PartialVisitContext methods up to VisitContext).
>
> Andy there ware no such methods in your zip. The signatures of
> VisitContext and its subclasses were identical in your zip. Please
> check this.
>

That's right. I was hoping to add two more methods to PartialVisitContext:

1. A method to get at a complete collection of ids that are being visited.
2. A method to get at a collection of ids that are visit targets, but
have not yet been visited.

#1 would be useful if we want to allow clients to enhance/modify the set
of ids to visit.

#2 is important if the tree visitor client wants to detect cases where
ids that they thought should have been visited were never reached (eg.
might want to log a warning).

I'll think these through and send out an updated VisitContext proposal
that includes these to the EG.

> AS> 3. Call UIComponent.pushComponentToEL() and popComponentToEL() during
> AS> the visit traversal.
>
> VERY important. Not done yet. Can we put this on your plate? Make
> sure to include a requirement to do this in the javadocs as well.
>

Will do.

> AS> 4. VisitHint cleanup: Defaults should match invokeOnComponent behavior.
> AS> Hint names should be updated accordingly. Rip out VISIT_ITERATED. Add
> AS> a hint that indicates that the visit is due to lifecycle phase execution.
>
> Not done yet. Andy can you do it?
>
>

Definitely.

> AS> 5. Rip out old doTreeTraversal() code.
>
> This is done, but please check it.
>
>

Will do.

> AS> 6. Implement UIData.visitTree()
>
> Yes, very important. Can you do it?
>
>

Yep, will do.

BTW, just in case I have questions or need someone to review my plans
for UIData.treeVisit() - is there someone in particular here who is an
expert in the UIData implementation?

Andy