Author: svenmeier Date: Tue Jul 19 15:41:48 2011 New Revision: 1148408 URL: http://svn.apache.org/viewvc?rev=1148408&view=rev Log: utilize onInitialize() for step's FormValidators
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardStep.java Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardStep.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardStep.java?rev=1148408&r1=1148407&r2=1148408&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardStep.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardStep.java Tue Jul 19 15:41:48 2011 @@ -80,24 +80,6 @@ import org.apache.wicket.model.Model; public class WizardStep extends Panel implements IWizardStep { /** - * Adds form validators. We don't need this in 2.0 as the hierarchy is know at construction time - * from then. - */ - private final class AddFormValidatorAction - { - /** - * Wrapper for any form validators. - */ - final FormValidatorWrapper formValidatorWrapper = new FormValidatorWrapper(); - - void execute() - { - Form<?> form = findParent(Form.class); - form.add(formValidatorWrapper); - } - } - - /** * Wraps form validators for this step such that they are only executed when this step is * active. */ @@ -216,8 +198,6 @@ public class WizardStep extends Panel im */ private boolean complete = true; - private transient AddFormValidatorAction onAttachAction; - /** * A summary of this step, or some usage advice. */ @@ -234,6 +214,11 @@ public class WizardStep extends Panel im private IWizardModel wizardModel; /** + * The wrapper of {@link IFormValidator}s for this step. + */ + private FormValidatorWrapper formValidatorWrapper = new FormValidatorWrapper(); + + /** * Construct without a title and a summary. Useful for when you provide a custom header by * overiding {@link #getHeader(String, Component, IWizard)}. */ @@ -313,11 +298,7 @@ public class WizardStep extends Panel im */ public final void add(final IFormValidator validator) { - if (onAttachAction == null) - { - onAttachAction = new AddFormValidatorAction(); - } - onAttachAction.formValidatorWrapper.add(validator); + formValidatorWrapper.add(validator); } /** @@ -455,20 +436,13 @@ public class WizardStep extends Panel im } } - /** - * Workaround for adding the form validators. - * - * @see org.apache.wicket.Component#onBeforeRender() - */ @Override - protected void onBeforeRender() + protected void onInitialize() { - if (onAttachAction != null) - { - onAttachAction.execute(); - onAttachAction = null; - } - super.onBeforeRender(); + super.onInitialize(); + + Form<?> form = findParent(Form.class); + form.add(formValidatorWrapper); } /**