[ 
https://issues.apache.org/jira/browse/WICKET-627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12502893
 ] 

Johan Compagner commented on WICKET-627:
----------------------------------------

hmm so this just can't be solved that way then
what we could do is set the rendering flag a bit later??
in page.renderPage() itself? with a visitor?
So that first onBefore is called
and if that works completely 
then the rendering flag is set on all.
(this also removes the nasty try{} finally around the beforeRender() call to 
set the flags right again.

> onBeforeRenderChildren should be made protected
> -----------------------------------------------
>
>                 Key: WICKET-627
>                 URL: https://issues.apache.org/jira/browse/WICKET-627
>             Project: Wicket
>          Issue Type: Bug
>    Affects Versions: 1.3.0-beta1
>            Reporter: Alastair Maw
>            Assignee: Alastair Maw
>             Fix For: 1.3.0-beta2
>
>
> I've discussed this with Johan and we think we need to make 
> onBeforeRenderChildren() protected.
> <AlMaw> I have a ValidationTaggedForm extends Form.
> <AlMaw> And in onBeforeRender, I call visitChildren(validationTaggingVisitor)
> <AlMaw> And the validationTaggingVisitor adds a behaviour.
> <AlMaw> If I have a ListView in the Form, onBeforeRender for the Form is 
> called before the ListView populateItem calls.
> <AlMaw> Thus the components added in the ListView aren't visited.
> We can't just swap the order of the calls to onBeforeRender() and 
> onBeforeRenderChildren() in Component#beforeRender() because that will break 
> existing code and the repeaters. Besides, someone will only want to do things 
> the other way around at some later date (e.g. attach a behaviour to a parent 
> using a child then needs to reference/find).
> Suggested solution is to make onBeforeRenderChildren() protected, which will 
> allow as much flexibility as you like.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to