Repository: wicket
Updated Branches:
  refs/heads/lambdas dd3209350 -> 6d7494022


WICKET-6029 Make Border's methods consistent with commit f14e03f


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d22b004a
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d22b004a
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d22b004a

Branch: refs/heads/lambdas
Commit: d22b004afa01c31a117a65d9e7669d6c9cd64836
Parents: 6d88caf
Author: Andrea Del Bene <[email protected]>
Authored: Mon Nov 9 22:41:38 2015 +0100
Committer: Andrea Del Bene <[email protected]>
Committed: Mon Nov 9 22:59:43 2015 +0100

----------------------------------------------------------------------
 .../wicket/markup/html/border/Border.java       | 43 +++++++++++++++++---
 1 file changed, 37 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/d22b004a/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java
index 5125bd5..322b507 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java
@@ -221,7 +221,19 @@ public abstract class Border extends WebMarkupContainer 
implements IComponentRes
        @Override
        public Border addOrReplace(final Component... children)
        {
-               getBodyContainer().addOrReplace(children);
+               for (Component component : children)
+               {
+                       if (component == body)
+                       {
+                               // in this case we do not want to redirect to 
body
+                               // container but to border's old remove.
+                               super.addOrReplace(component);
+                       }
+                       else 
+                       {
+                               getBodyContainer().addOrReplace(component);     
                        
+                       }
+               }
                return this;
        }
 
@@ -230,10 +242,9 @@ public abstract class Border extends WebMarkupContainer 
implements IComponentRes
        {
                if (component == body)
                {
-                       // when the user calls foo.add(getBodyContainer()) this 
method will be called with it to
-                       // clear body container's old parent, in which case we 
do not want to redirect to body
+                       // in this case we do not want to redirect to body
                        // container but to border's old remove.
-                       super.remove(body);
+                       removeFromBorder(component);
                }
                else
                {
@@ -242,10 +253,21 @@ public abstract class Border extends WebMarkupContainer 
implements IComponentRes
                return this;
        }
 
+       
+       
        @Override
        public Border remove(final String id)
        {
-               getBodyContainer().remove(id);
+               if (body.getId().equals(id))
+               {
+                       // in this case we do not want to redirect to body
+                       // container but to border's old remove.
+                       super.remove(id);
+               }
+               else
+               {
+                       getBodyContainer().remove(id);
+               }
                return this;
        }
 
@@ -259,7 +281,16 @@ public abstract class Border extends WebMarkupContainer 
implements IComponentRes
        @Override
        public Border replace(final Component replacement)
        {
-               getBodyContainer().replace(replacement);
+               if (body.getId().equals(replacement.getId()))
+               {
+                       // in this case we do not want to redirect to body
+                       // container but to border's old remove.
+                       replaceInBorder(replacement);
+               }
+               else
+               {
+                       getBodyContainer().replace(replacement);
+               }
                return this;
        }
 

Reply via email to