You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2018/02/24 17:39:04 UTC

wicket git commit: WICKET-6503 be lenient with removed components as before

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 <sv...@apache.org>
Authored: Sat Feb 24 18:38:35 2018 +0100
Committer: Sven Meier <sv...@apache.org>
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);