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);

Reply via email to