Repository: wicket Updated Branches: refs/heads/master 104f7e264 -> 65fb29760
WICKET-6503 be lenient with removed components as before Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/65fb2976 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/65fb2976 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/65fb2976 Branch: refs/heads/master Commit: 65fb297609899d1269460aa6c719cca88287bcbe Parents: 104f7e2 Author: Sven Meier <[email protected]> Authored: Sat Feb 24 18:38:35 2018 +0100 Committer: Sven Meier <[email protected]> Committed: Sat Feb 24 18:38:35 2018 +0100 ---------------------------------------------------------------------- .../org/apache/wicket/page/PartialPageUpdate.java | 16 ++++++++++------ .../apache/wicket/page/XmlPartialPageUpdate.java | 6 ------ 2 files changed, 10 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/65fb2976/wicket-core/src/main/java/org/apache/wicket/page/PartialPageUpdate.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/page/PartialPageUpdate.java b/wicket-core/src/main/java/org/apache/wicket/page/PartialPageUpdate.java index fa7aa6d..bb3919b 100644 --- a/wicket-core/src/main/java/org/apache/wicket/page/PartialPageUpdate.java +++ b/wicket-core/src/main/java/org/apache/wicket/page/PartialPageUpdate.java @@ -239,7 +239,7 @@ public abstract class PartialPageUpdate { componentsFrozen = true; - List<Component> prepared = new ArrayList<>(markupIdToComponent.size()); + List<Component> toBeWritten = new ArrayList<>(markupIdToComponent.size()); // delay preparation of feedbacks after all other components try (FeedbackDelay delay = new FeedbackDelay(RequestCycle.get())) { @@ -247,8 +247,9 @@ public abstract class PartialPageUpdate { if (!containsAncestorFor(component)) { - prepareComponent(component); - prepared.add(component); + if (prepareComponent(component)) { + toBeWritten.add(component); + } } } @@ -257,7 +258,7 @@ public abstract class PartialPageUpdate } // write components - for (Component component : prepared) + for (Component component : toBeWritten) { writeComponent(response, component.getAjaxRegionMarkupId(), component, encoding); } @@ -293,8 +294,9 @@ public abstract class PartialPageUpdate * * @param component * the component to prepare + * @return wether the component was prepared */ - protected void prepareComponent(Component component) + protected boolean prepareComponent(Component component) { if (component.getRenderBodyOnly() == true) { @@ -312,7 +314,7 @@ public abstract class PartialPageUpdate // dont throw an exception but just ignore this component, somehow // it got removed from the page. LOG.warn("Component '{}' not rendered because it was already removed from page", component); - return; + return false; } try @@ -324,6 +326,8 @@ public abstract class PartialPageUpdate bodyBuffer.reset(); throw e; } + + return true; } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/65fb2976/wicket-core/src/main/java/org/apache/wicket/page/XmlPartialPageUpdate.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/page/XmlPartialPageUpdate.java b/wicket-core/src/main/java/org/apache/wicket/page/XmlPartialPageUpdate.java index 5f78ef3..0af4342 100644 --- a/wicket-core/src/main/java/org/apache/wicket/page/XmlPartialPageUpdate.java +++ b/wicket-core/src/main/java/org/apache/wicket/page/XmlPartialPageUpdate.java @@ -24,16 +24,12 @@ import org.apache.wicket.request.Response; import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.request.http.WebResponse; import org.apache.wicket.util.string.Strings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * A {@link PartialPageUpdate} that serializes itself to XML. */ public class XmlPartialPageUpdate extends PartialPageUpdate { - private static final Logger LOG = LoggerFactory.getLogger(XmlPartialPageUpdate.class); - /** * The name of the root element in the produced XML document. */ @@ -63,8 +59,6 @@ public class XmlPartialPageUpdate extends PartialPageUpdate @Override protected void writeComponent(Response response, String markupId, Component component, String encoding) { - final Page page = component.findParent(Page.class); - // substitute our encoding response for the old one so we can capture // component's markup in a manner safe for transport inside CDATA block Response oldResponse = RequestCycle.get().setResponse(bodyBuffer);
