Updated Branches: refs/heads/master 5232a35ad -> cebf00849
WICKET-5162 InlineEnclosure markup id could collide in the final page markup Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/cebf0084 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/cebf0084 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/cebf0084 Branch: refs/heads/master Commit: cebf0084971886ec067f440eabee4eaa19df3179 Parents: 5232a35 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Mon Apr 29 09:56:33 2013 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Mon Apr 29 09:56:33 2013 +0200 ---------------------------------------------------------------------- .../src/main/java/org/apache/wicket/Component.java | 2 +- .../src/main/java/org/apache/wicket/Page.java | 6 +-- .../markup/html/internal/InlineEnclosure.java | 34 +-------------- .../parser/filter/InlineEnclosureHandler.java | 24 +--------- .../markup/html/internal/AjaxEnclosureTest.java | 6 +- ...eEnclosureDifferentNamespaceExpectedResult.html | 22 +++++----- .../InlineEnclosureDifferentNamespacePage.java | 8 --- .../InlineEnclosurePageExpectedResult_1.html | 14 +++--- .../InlineEnclosurePageExpectedResult_2.html | 22 +++++----- .../InlineEnclosurePanelPageExpectedResult.html | 4 +- ...reWithWicketMessagePage_invisible_expected.html | 2 +- ...sureWithWicketMessagePage_visible_expected.html | 2 +- .../markup/html/internal/TogglePageTest.java | 6 +- 13 files changed, 46 insertions(+), 106 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/main/java/org/apache/wicket/Component.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java b/wicket-core/src/main/java/org/apache/wicket/Component.java index b56949d..50076b5 100644 --- a/wicket-core/src/main/java/org/apache/wicket/Component.java +++ b/wicket-core/src/main/java/org/apache/wicket/Component.java @@ -1497,7 +1497,7 @@ public abstract class Component } String markupIdPrefix = "id"; - if (!getApplication().usesDeploymentConfig()) + if (getApplication().usesDevelopmentConfig()) { // in non-deployment mode we make the markup id include component id // so it is easier to debug http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/main/java/org/apache/wicket/Page.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/Page.java b/wicket-core/src/main/java/org/apache/wicket/Page.java index 86c0472..1c811aa 100644 --- a/wicket-core/src/main/java/org/apache/wicket/Page.java +++ b/wicket-core/src/main/java/org/apache/wicket/Page.java @@ -213,10 +213,8 @@ public abstract class Page extends MarkupContainer implements IRedirectListener, " was rendered already. You can render it only once during a render phase. Class relative path: " + component.getClassRelativePath()); } - if (log.isDebugEnabled()) - { - log.debug("Rendered " + component); - } + log.debug("Rendered {}", component); + } } http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java index 3e4d230..55dc3b5 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java @@ -16,15 +16,8 @@ */ package org.apache.wicket.markup.html.internal; -import org.apache.wicket.Page; import org.apache.wicket.markup.ComponentTag; -import org.apache.wicket.markup.IMarkupFragment; -import org.apache.wicket.markup.MarkupParser; -import org.apache.wicket.markup.MarkupResourceStream; import org.apache.wicket.markup.parser.filter.InlineEnclosureHandler; -import org.apache.wicket.util.string.Strings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** @@ -44,13 +37,11 @@ public class InlineEnclosure extends Enclosure { private static final long serialVersionUID = 1L; - private static final Logger log = LoggerFactory.getLogger(InlineEnclosure.class); - /** * Construct. * - * @param id - * @param childId + * @param id The component id + * @param childId The id of the child component that controls the visibility */ public InlineEnclosure(final String id, final String childId) { @@ -58,7 +49,6 @@ public class InlineEnclosure extends Enclosure // ensure that the Enclosure is ready for ajax updates setOutputMarkupPlaceholderTag(true); - setMarkupId(getId()); } @Override @@ -81,24 +71,4 @@ public class InlineEnclosure extends Enclosure setVisible(visible); return visible; } - - /** - * @return the markup namespace for Wicket elements and attributes. - */ - private String getWicketNamespace() - { - String markupNamespace = MarkupParser.WICKET; - Page page = findPage(); - if (page != null) - { - IMarkupFragment markup = page.getMarkup(); - MarkupResourceStream markupResourceStream = markup.getMarkupResourceStream(); - String namespace = markupResourceStream.getWicketNamespace(); - if (Strings.isEmpty(namespace) == false) - { - markupNamespace = namespace; - } - } - return markupNamespace; - } } http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java index 6b3eb5b..ca6922e 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/InlineEnclosureHandler.java @@ -27,7 +27,6 @@ import org.apache.wicket.markup.MarkupResourceStream; import org.apache.wicket.markup.MarkupStream; import org.apache.wicket.markup.WicketTag; import org.apache.wicket.markup.html.internal.InlineEnclosure; -import org.apache.wicket.markup.html.list.LoopItem; import org.apache.wicket.markup.parser.AbstractMarkupFilter; import org.apache.wicket.markup.resolver.IComponentResolver; import org.apache.wicket.util.string.Strings; @@ -69,7 +68,7 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter * InlineEnclosures are not removed after render as other auto-components, * thus they have to have a stable id. */ - private static int counter; + private int counter; /** * Construct. @@ -114,8 +113,7 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter { if (Strings.isEmpty(htmlId)) { - String id = getWicketNamespace() + "_" + INLINE_ENCLOSURE_ID_PREFIX + - (counter++); + String id = getWicketNamespace() + "_" + INLINE_ENCLOSURE_ID_PREFIX + (counter++); tag.setId(id); } else @@ -206,11 +204,6 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter if (Strings.isEmpty(inlineEnclosureChildId) == false) { String id = tag.getId(); - LoopItem loopItemParent = findLoopItemParent(container); - if (loopItemParent != null) - { - id = id + '_' + loopItemParent.getIndex(); - } // Yes, we handled the tag return new InlineEnclosure(id, inlineEnclosureChildId); @@ -224,17 +217,4 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter return getWicketNamespace(markupStream) + ':' + INLINE_ENCLOSURE_ATTRIBUTE_NAME; } - private LoopItem findLoopItemParent(MarkupContainer parent) - { - LoopItem loopItemParent; - if (parent instanceof LoopItem) - { - loopItemParent = (LoopItem) parent; - } - else - { - loopItemParent = parent.findParent(LoopItem.class); - } - return loopItemParent; - } } http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java index 7bb680e..ea032ff 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java @@ -38,11 +38,11 @@ import org.junit.Test; */ public class AjaxEnclosureTest extends WicketTestCase { - private final String inlineEnclosureIdPrefix = "wicket_InlineEnclosure-"; + private final String inlineEnclosureIdPrefix = "wicket__InlineEnclosure_"; private final String inlineEnclosureHiddenPattern = "<div id=\"" + inlineEnclosureIdPrefix + - "\\d\" style=\"display:none\"></div>"; + "\\w+\" style=\"display:none\"></div>"; private final String inlineEnclosureVisiblePattern = "<div id=\"" + inlineEnclosureIdPrefix + - "\\d\">"; + "\\w+\">"; @Override protected WebApplication newApplication() http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespaceExpectedResult.html ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespaceExpectedResult.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespaceExpectedResult.html index c12bd24..0453d7d 100755 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespaceExpectedResult.html +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespaceExpectedResult.html @@ -2,8 +2,8 @@ <body> <!-- nested inline enclosures with separate child depths. --> -<div id="w_InlineEnclosure-28"><span>Test Label 1</span> - <div id="w_InlineEnclosure-29"> +<div id="w__InlineEnclosure_01"><span>Test Label 1</span> + <div id="w__InlineEnclosure_12"> <table> <tr> <td><span>Test Label 2</span></td> @@ -13,15 +13,15 @@ </div> <!-- nested inline enclosures with same child depth. --> -<div id="w_InlineEnclosure-30"> - <div id="w_InlineEnclosure-31"> +<div id="w__InlineEnclosure_23"> + <div id="w__InlineEnclosure_34"> <span>Test Label 3</span> <span>Test Label 4</span> </div> </div> <!-- enclosure tag nested inside inline enclosure with separate child depths. --> -<div id="w_InlineEnclosure-32"> <span>Test Label 5</span> +<div id="w__InlineEnclosure_45"> <span>Test Label 5</span> <table> <tr> @@ -34,7 +34,7 @@ </div> <!-- enclosure tag nested inside inline enclosure with same child depth. --> -<div id="w_InlineEnclosure-33"> +<div id="w__InlineEnclosure_56"> <table> <tr> @@ -49,7 +49,7 @@ <!-- inline enclosure nested inside enclosure tag with separate child depths. --> - <div id="w_InlineEnclosure-34"> <span>Test Label 9</span> + <div id="w__InlineEnclosure_67"> <span>Test Label 9</span> <table> <tr> <td><span>Test Label 10</span></td> @@ -59,7 +59,7 @@ <!-- inline enclosure nested inside enclosure tag with same child depth. --> -<div id="w_InlineEnclosure-35"> +<div id="w__InlineEnclosure_78"> <table> <tr> @@ -74,7 +74,7 @@ <!-- inline enclosure nested inside enclosure tag with same child depth inside a wicket container. --> - <div id="w_InlineEnclosure-36"> + <div id="w__InlineEnclosure_89"> <div> <table> <tr> @@ -90,8 +90,8 @@ <!-- nested inline enclosures without explicitly determining children --> -<div id="w_InlineEnclosure-37"> - <div id="w_InlineEnclosure-38"> +<div id="w__InlineEnclosure_9a"> + <div id="w__InlineEnclosure_10b"> <table> <tr> <td> http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespacePage.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespacePage.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespacePage.java index 566e355..02a0a9d 100755 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespacePage.java +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespacePage.java @@ -72,12 +72,4 @@ public class InlineEnclosureDifferentNamespacePage extends WebPage add(label15); } - - /** - * @return serialVersionUID - */ - public static long getSerialversionuid() - { - return serialVersionUID; - } } http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html index a9eaddf..dc8d66d 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html @@ -1,9 +1,9 @@ <html> <body> -<span id="wicket_InlineEnclosure-9"> <span>Test Label 1</span> </span> +<span id="wicket__InlineEnclosure_01"> <span>Test Label 1</span> </span> -<div id="wicket_InlineEnclosure-10"> +<div id="wicket__InlineEnclosure_12"> <table> <tr> <td><span>Test Label 2</span></td> @@ -11,9 +11,9 @@ </table> </div> -<span id="wicket_InlineEnclosure-11" style="display:none"></span> +<span id="wicket__InlineEnclosure_23" style="display:none"></span> -<div id="wicket_InlineEnclosure-12"> +<div id="wicket__InlineEnclosure_34"> <table> <tr> <td><span>Test Label 4</span></td> @@ -36,11 +36,11 @@ </table> </div> -<div id="wicket_InlineEnclosure-13"><span> <span>Test Label 8</span> </span></div> +<div id="wicket__InlineEnclosure_45"><span> <span>Test Label 8</span> </span></div> -<div id="wicket_InlineEnclosure-14"><span>Test Label 9</span></div> +<div id="wicket__InlineEnclosure_56"><span>Test Label 9</span></div> -<div id="customInlineEnclosureId"><span>Test Label 10</span> +<div id="customInlineEnclosureId7"><span>Test Label 10</span> </div> http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_2.html ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_2.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_2.html index ae68a0a..7f16e87 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_2.html +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_2.html @@ -2,8 +2,8 @@ <body> <!-- nested inline enclosures with separate child depths. --> -<div id="wicket_InlineEnclosure-15"><span>Test Label 1</span> - <div id="wicket_InlineEnclosure-16"> +<div id="wicket__InlineEnclosure_01"><span>Test Label 1</span> + <div id="wicket__InlineEnclosure_12"> <table> <tr> <td><span>Test Label 2</span></td> @@ -13,15 +13,15 @@ </div> <!-- nested inline enclosures with same child depth. --> -<div id="wicket_InlineEnclosure-17"> - <div id="wicket_InlineEnclosure-18"> +<div id="wicket__InlineEnclosure_23"> + <div id="wicket__InlineEnclosure_34"> <span>Test Label 3</span> <span>Test Label 4</span> </div> </div> <!-- enclosure tag nested inside inline enclosure with separate child depths. --> -<div id="wicket_InlineEnclosure-19"> <span>Test Label 5</span> +<div id="wicket__InlineEnclosure_45"> <span>Test Label 5</span> <table> <tr> @@ -34,7 +34,7 @@ </div> <!-- enclosure tag nested inside inline enclosure with same child depth. --> -<div id="wicket_InlineEnclosure-20"> +<div id="wicket__InlineEnclosure_56"> <table> <tr> @@ -49,7 +49,7 @@ <!-- inline enclosure nested inside enclosure tag with separate child depths. --> - <div id="wicket_InlineEnclosure-21"> <span>Test Label 9</span> + <div id="wicket__InlineEnclosure_67"> <span>Test Label 9</span> <table> <tr> <td><span>Test Label 10</span></td> @@ -59,7 +59,7 @@ <!-- inline enclosure nested inside enclosure tag with same child depth. --> -<div id="wicket_InlineEnclosure-22"> +<div id="wicket__InlineEnclosure_78"> <table> <tr> @@ -74,7 +74,7 @@ <!-- inline enclosure nested inside enclosure tag with same child depth inside a wicket container. --> - <div id="wicket_InlineEnclosure-23"> + <div id="wicket__InlineEnclosure_89"> <div> <table> <tr> @@ -90,8 +90,8 @@ <!-- nested inline enclosures without explicitly determining children --> -<div id="wicket_InlineEnclosure-24"> - <div id="wicket_InlineEnclosure-25"> +<div id="wicket__InlineEnclosure_9a"> + <div id="wicket__InlineEnclosure_10b"> <table> <tr> <td> http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePanelPageExpectedResult.html ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePanelPageExpectedResult.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePanelPageExpectedResult.html index 873c631..312fefa 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePanelPageExpectedResult.html +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePanelPageExpectedResult.html @@ -1,13 +1,13 @@ <html> <body> - <div id="wicket_InlineEnclosure-26"> + <div id="wicket__InlineEnclosure_01"> <div> <div> This is a simple test panel. This contains a label and an inline enclosure with a label inside it. <span>Inside InlineEnclosure and Panel: hello world</span> - <div id="wicket_InlineEnclosure-27"> + <div id="wicket__InlineEnclosure_02"> <span>Inside InlineEnclosure, Panel and another InlineEnclosure: hello again.</span> </div> http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_invisible_expected.html ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_invisible_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_invisible_expected.html index 8545cd3..f459aa8 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_invisible_expected.html +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_invisible_expected.html @@ -21,6 +21,6 @@ <title>Wicket 4520</title> </head> <body> - <div id="wicket_message_attr_" style="display:none"></div> + <div id="wicket__message__attr__1" style="display:none"></div> </body> </html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_visible_expected.html ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_visible_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_visible_expected.html index 1fa487d..ca9f05a 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_visible_expected.html +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_visible_expected.html @@ -21,7 +21,7 @@ <title>Wicket 4520</title> </head> <body> - <div id="wicket_message_attr_" title="Some title"> + <div id="wicket__message__attr__1" title="Some title"> <div>Inner div <span>A Label</span> </div> http://git-wip-us.apache.org/repos/asf/wicket/blob/cebf0084/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java index 018e4e9..32c778c 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java @@ -152,13 +152,13 @@ public class TogglePageTest extends WicketTestCase */ public void testInlineEnclosureAjaxPage() { - String inlineEnclosureIdPrefix = "wicket_InlineEnclosure-"; + String inlineEnclosureIdPrefix = "wicket__InlineEnclosure_"; String inlineEnclosureHiddenPattern = "<tr id=\"" + inlineEnclosureIdPrefix + - "\\d\" style=\"display:none\"></tr>"; + "\\w+\" style=\"display:none\"></tr>"; String inlineEnclosureVisiblePattern = "<tr bgcolor=\"red\" id=\"" + - inlineEnclosureIdPrefix + "\\d\">"; + inlineEnclosureIdPrefix + "\\w+\">"; { // On
