You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by ad...@apache.org on 2017/05/20 17:22:53 UTC
wicket git commit: WICKET-6374 Exception caused by border extending
another border with
Repository: wicket
Updated Branches:
refs/heads/master a1e5e9964 -> 266a57ce1
WICKET-6374 Exception caused by border extending another border with
<wicket:extend>
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/266a57ce
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/266a57ce
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/266a57ce
Branch: refs/heads/master
Commit: 266a57ce153c5b65e9701e74b13f1175d6dc3af7
Parents: a1e5e99
Author: Andrea Del Bene <ad...@apache.org>
Authored: Sat May 20 19:23:54 2017 +0200
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Sat May 20 19:23:54 2017 +0200
----------------------------------------------------------------------
.../wicket/markup/html/border/Border.java | 12 +-------
.../markup/html/border/ComponentBorderTest.java | 10 +++++++
.../markup/html/border/ExtedableBorder.html | 28 ++++++++++++++++++
.../markup/html/border/ExtedableBorder.java | 30 ++++++++++++++++++++
.../markup/html/border/ExtendedBorder.html | 22 ++++++++++++++
.../markup/html/border/ExtendedBorder.java | 30 ++++++++++++++++++++
6 files changed, 121 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/266a57ce/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 b11df1a..a330489 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
@@ -16,8 +16,6 @@
*/
package org.apache.wicket.markup.html.border;
-import java.util.Objects;
-
import org.apache.wicket.Component;
import org.apache.wicket.DequeueContext;
import org.apache.wicket.DequeueTagAction;
@@ -36,7 +34,6 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.BorderMarkupSourcingStrategy;
import org.apache.wicket.markup.html.panel.IMarkupSourcingStrategy;
import org.apache.wicket.markup.parser.XmlTag.TagType;
-import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
import org.apache.wicket.markup.resolver.IComponentResolver;
import org.apache.wicket.model.IModel;
import org.apache.wicket.util.lang.Args;
@@ -665,16 +662,9 @@ public abstract class Border extends WebMarkupContainer implements IComponentRes
private boolean canDequeueBody(ComponentTag tag)
{
- String tagCacheKey = (String)tag.getUserData(
- WicketTagIdentifier.MARKUP_CACHE_KEY);
- String borderCacheKey = getAssociatedMarkup().getMarkupResourceStream().getCacheKey();
-
boolean isBodyTag = (tag instanceof WicketTag) && ((WicketTag)tag).isBodyTag();
- //the body tag might belong to an outer body component
- boolean isBorderBodyTag = Objects.equals(tagCacheKey, borderCacheKey);
-
- return isBodyTag && isBorderBodyTag;
+ return isBodyTag;
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/266a57ce/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ComponentBorderTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ComponentBorderTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ComponentBorderTest.java
index 8dcb1f1..bc2f2fd 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ComponentBorderTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ComponentBorderTest.java
@@ -141,4 +141,14 @@ public class ComponentBorderTest extends WicketTestCase
//https://issues.apache.org/jira/browse/WICKET-6303
assertTrue(page.isBehaviorRendered());
}
+
+ /**
+ * https://issues.apache.org/jira/browse/WICKET-6374
+ * @throws Exception
+ */
+ @Test
+ public void borderExtendingMarkup() throws Exception
+ {
+ tester.startComponentInPage(ExtendedBorder.class);
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/266a57ce/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtedableBorder.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtedableBorder.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtedableBorder.html
new file mode 100644
index 0000000..bc2a89c
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtedableBorder.html
@@ -0,0 +1,28 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+<body>
+<wicket:border>
+ <em>My Border</em>
+ <span>[before body]</span>
+ <wicket:body/>
+ <span>[after body]</span>
+ <span>[before child]</span>
+ <wicket:child/>
+ <span>[after child]</span>
+</wicket:border>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/wicket/blob/266a57ce/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtedableBorder.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtedableBorder.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtedableBorder.java
new file mode 100644
index 0000000..cdd4a81
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtedableBorder.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markup.html.border;
+
+public class ExtedableBorder extends Border
+{
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1431333408002477444L;
+
+ public ExtedableBorder(final String id)
+ {
+ super(id);
+ }
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/266a57ce/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtendedBorder.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtendedBorder.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtendedBorder.html
new file mode 100644
index 0000000..379f1c3
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtendedBorder.html
@@ -0,0 +1,22 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+<body>
+<wicket:extend>
+ <em>My Extended Border</em>
+</wicket:extend>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/wicket/blob/266a57ce/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtendedBorder.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtendedBorder.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtendedBorder.java
new file mode 100644
index 0000000..eefd271
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/border/ExtendedBorder.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markup.html.border;
+
+public class ExtendedBorder extends ExtedableBorder
+{
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3807276374784563518L;
+
+ public ExtendedBorder(final String id)
+ {
+ super(id);
+ }
+}