Re: issue 1663

From: Sheetal Vartak <>
Date: Sun, 24 Oct 2010 01:26:48 -0700

Hi Ed,
Hopefully this is the final review. I have attached the changebundle to the issue along with the new facelets for the devtest. Scrumtoys and all the tests pass.
I am using the FacesContext attrs to store the value of the boolean mentioned below. It is no longer a static var.


On Oct 21, 2010, at 4:17 PM, Sheetal Vartak wrote:

> Hi Ed,
> Thanks for pointing out the issue with running scrumtoys. I have made a small change that has fixed the issue with UIViewParameter requiring a form. Please take a look. All the tests also passed.
> Thanks
> Sheetal<changebundle.txt>
> On Oct 20, 2010, at 3:00 PM, Sheetal Vartak wrote:
>> Hi Ed,
>> I took a look at the sketch of the solution that you have attached to the issue. I agree with the basic idea in the solution but not so much with adding the list of components to look at to the FacesContext attrs. I think there might be a better way to achieving this right in the ComponentSupport class. I may not have all my facts right. That's where I'm looking to you for guidance.
>> Attaching the diffs here. I have tried to add as much documentation as possible.<changebundle.txt>
>> What I have tried to do is similar to the old code. But now I have a boolean "makeSureAncestorIsForm" which is set if the child component's parent is either UIPanel or UIData or UINamingContainer. I have noticed that, when the parent is one of the above, the parent's ancestry is null somewhere along the line. Is this a possibility for any other kind of component as well?
>> So the boolean helps us remember this case and take action when ComponentSupport.addComponent() is called for one of the above as children to be added. That's when we examine the value of the boolean. If it is set, we check for UIForm in the ancestry.
>> The solution is very much specific to cases where UIPanel/UIData/UINamingContainer are parents. I don't know of any other components that might need special case like these. Please advise.
>> Thanks
>> Sheetal
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> For additional commands, e-mail:
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail: