You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2010/08/21 00:18:51 UTC
svn commit: r987651 -
/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
Author: ivaynberg
Date: Fri Aug 20 22:18:50 2010
New Revision: 987651
URL: http://svn.apache.org/viewvc?rev=987651&view=rev
Log:
Form.delegateSubmit: invoke onSubmit() of nested Forms before onSubmit() of enclosing Form
Issue: WICKET-3003
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=987651&r1=987650&r2=987651&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java Fri Aug 20 22:18:50 2010
@@ -50,8 +50,10 @@ import org.apache.wicket.util.string.Str
import org.apache.wicket.util.string.interpolator.MapVariableInterpolator;
import org.apache.wicket.util.upload.FileUploadBase.SizeLimitExceededException;
import org.apache.wicket.util.upload.FileUploadException;
+import org.apache.wicket.util.visit.ClassVisitFilter;
import org.apache.wicket.util.visit.IVisit;
import org.apache.wicket.util.visit.IVisitor;
+import org.apache.wicket.util.visit.Visits;
import org.apache.wicket.validation.IValidatorAddListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -1224,24 +1226,18 @@ public class Form<T> extends WebMarkupCo
}
// Model was successfully updated with valid data
- formToProcess.onSubmit();
- // call onSubmit on nested forms
- formToProcess.visitChildren(Form.class, new IVisitor<Form<?>, Void>()
+ Visits.visitComponentsPostOrder(this, new IVisitor<Form<?>, Void>()
{
- public void component(final Form<?> component, final IVisit<Void> visit)
+ public void component(Form<?> form, IVisit<Void> visit)
{
- Form<?> form = component;
if (form.isEnabledInHierarchy() && form.isVisibleInHierarchy())
{
+
form.onSubmit();
}
- else
- {
- visit.dontGoDeeper();
- }
}
- });
+ }, new ClassVisitFilter(Form.class));
}
/**
@@ -1969,6 +1965,7 @@ public class Form<T> extends WebMarkupCo
}
/** {@inheritDoc} */
+ @Override
public void renderHead(IHeaderResponse response)
{
if (!isRootForm() && isMultiPart())