Updated Branches: refs/heads/master 5db4a92c3 -> a293ddf75
WICKET-4521 Improve all IComponentResolvers which are also IMarkupFilters to set tag ids with common prefix Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/a293ddf7 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/a293ddf7 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/a293ddf7 Branch: refs/heads/master Commit: a293ddf757613a06a6558336047e4a4308b0f1b9 Parents: 5db4a92 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Tue May 8 18:28:39 2012 +0300 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Tue May 8 18:28:39 2012 +0300 ---------------------------------------------------------------------- .../parser/filter/InlineEnclosureHandler.java | 9 +- .../parser/filter/RelativePathPrefixHandler.java | 12 +- .../parser/filter/WicketMessageTagHandler.java | 11 +- .../markup/parser/filter/WicketTagIdentifier.java | 2 +- .../markup/html/internal/AjaxEnclosureTest.java | 8 +- .../InlineEnclosurePageExpectedResult_1.html | 96 ++++---- .../InlineEnclosurePageExpectedResult_2.html | 212 +++++++------- .../InlineEnclosurePanelPageExpectedResult.html | 36 ++-- ...reWithWicketMessagePage_invisible_expected.html | 2 +- ...sureWithWicketMessagePage_visible_expected.html | 2 +- .../markup/html/internal/TogglePageTest.java | 2 +- 11 files changed, 203 insertions(+), 189 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/a293ddf7/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 e059657..f812f76 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 @@ -100,7 +100,8 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter { if (Strings.isEmpty(htmlId)) { - tag.setId(INLINE_ENCLOSURE_ID_PREFIX); + String id = getWicketNamespace() + "_" + INLINE_ENCLOSURE_ID_PREFIX; + tag.setId(id); } else { @@ -176,7 +177,11 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter String inlineEnclosureChildId = getInlineEnclosureAttribute(tag); if (Strings.isEmpty(inlineEnclosureChildId) == false) { - String id = tag.getId() + container.getPage().getAutoIndex(); + String id = tag.getId(); + if (id.startsWith(getWicketNamespace())) + { + id = id + container.getPage().getAutoIndex(); + } // Yes, we handled the tag return new InlineEnclosure(id, inlineEnclosureChildId); } http://git-wip-us.apache.org/repos/asf/wicket/blob/a293ddf7/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java index c678c8e..420a881 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java @@ -141,7 +141,7 @@ public final class RelativePathPrefixHandler extends AbstractMarkupFilter { if (tag.getId() == null) { - tag.setId(WICKET_RELATIVE_PATH_PREFIX_CONTAINER_ID); + tag.setId(getWicketRelativePathPrefix()); tag.setAutoComponentTag(true); } tag.addBehavior(RELATIVE_PATH_BEHAVIOR); @@ -157,10 +157,9 @@ public final class RelativePathPrefixHandler extends AbstractMarkupFilter public Component resolve(final MarkupContainer container, final MarkupStream markupStream, final ComponentTag tag) { - if ((tag != null) && (tag.getId().startsWith(WICKET_RELATIVE_PATH_PREFIX_CONTAINER_ID))) + if ((tag != null) && (tag.getId().equals(getWicketRelativePathPrefix()))) { - String id = WICKET_RELATIVE_PATH_PREFIX_CONTAINER_ID + - container.getPage().getAutoIndex(); + String id = tag.getId() + container.getPage().getAutoIndex(); // we do not want to mess with the hierarchy, so the container has to be // transparent as it may have wicket components inside. for example a raw anchor tag @@ -169,4 +168,9 @@ public final class RelativePathPrefixHandler extends AbstractMarkupFilter } return null; } + + private String getWicketRelativePathPrefix() + { + return getWicketNamespace() + WICKET_RELATIVE_PATH_PREFIX_CONTAINER_ID; + } } http://git-wip-us.apache.org/repos/asf/wicket/blob/a293ddf7/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java index 5044128..65aa1d1 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java @@ -91,7 +91,7 @@ public final class WicketMessageTagHandler extends AbstractMarkupFilter // if this is a raw tag we need to set the id to something so // that wicket will not merge this as raw markup and instead // pass it on to a resolver - tag.setId(WICKET_MESSAGE_CONTAINER_ID); + tag.setId(getWicketMessageIdPrefix()); tag.setAutoComponentTag(true); tag.setModified(true); } @@ -163,11 +163,11 @@ public final class WicketMessageTagHandler extends AbstractMarkupFilter public Component resolve(MarkupContainer container, MarkupStream markupStream, ComponentTag tag) { // localize any raw markup that has wicket:message attrs - if ((tag != null) && (tag.getId().startsWith(WICKET_MESSAGE_CONTAINER_ID))) + if ((tag != null) && (tag.getId().startsWith(getWicketMessageIdPrefix()))) { Component wc; int autoIndex = container.getPage().getAutoIndex(); - String id = WICKET_MESSAGE_CONTAINER_ID + autoIndex; + String id = getWicketMessageIdPrefix() + autoIndex; if (tag.isOpenClose()) { @@ -188,4 +188,9 @@ public final class WicketMessageTagHandler extends AbstractMarkupFilter String wicketNamespace = getWicketNamespace(); return wicketNamespace + ':' + "message"; } + + private String getWicketMessageIdPrefix() + { + return getWicketNamespace() + WICKET_MESSAGE_CONTAINER_ID; + } } http://git-wip-us.apache.org/repos/asf/wicket/blob/a293ddf7/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java index 45b7ab9..00f0fb9 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java @@ -84,7 +84,7 @@ public final class WicketTagIdentifier extends AbstractMarkupFilter if (Strings.isEmpty(wicketIdValue)) { // Make it a Wicket component. Otherwise it would be RawMarkup - tag.setId("_wicket_" + tag.getName()); + tag.setId(namespace + "_" + tag.getName()); tag.setAutoComponentTag(true); tag.setModified(true); } http://git-wip-us.apache.org/repos/asf/wicket/blob/a293ddf7/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 571457f..4ed0914 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 @@ -32,7 +32,7 @@ import org.junit.Test; */ public class AjaxEnclosureTest extends WicketTestCase { - private final String inlineEnclosureIdPrefix = "InlineEnclosure-"; + private final String inlineEnclosureIdPrefix = "wicket_InlineEnclosure-"; private final String inlineEnclosureHiddenPattern = "<div id=\"" + inlineEnclosureIdPrefix + "1\" style=\"display:none\"></div>"; private final String inlineEnclosureVisiblePattern = "<div id=\"" + inlineEnclosureIdPrefix + @@ -88,7 +88,7 @@ public class AjaxEnclosureTest extends WicketTestCase @Test public void ajaxTogglingNonControllingChildShouldNotToggleEnclosure() { - final String enclosurePath = "InlineEnclosure-1"; + final String enclosurePath = "wicket_InlineEnclosure-1"; { // label 2 On AjaxEnclosurePage_1 ajaxPage = tester.startPage(AjaxEnclosurePage_1.class); @@ -129,7 +129,7 @@ public class AjaxEnclosureTest extends WicketTestCase @Test public void nestedInlineEnclosuresShouldToggleNormally() { - final String enclosure1Path = "InlineEnclosure-1"; + final String enclosure1Path = "wicket_InlineEnclosure-1"; { // 1. test that enclosure1, enclosure2, label1, label2 are visible, click link1, @@ -219,7 +219,7 @@ public class AjaxEnclosureTest extends WicketTestCase @Test public void controllingChildShouldDefaultToTheSingleComponentInsideEnclosure() { - final String enclosurePath = "InlineEnclosure-1"; + final String enclosurePath = "wicket_InlineEnclosure-1"; { // enclosure On http://git-wip-us.apache.org/repos/asf/wicket/blob/a293ddf7/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 5b62b10..15d30dc 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,48 +1,48 @@ -<html> -<body> - -<span id="InlineEnclosure-1"> <span>Test Label 1</span> </span> - -<div id="InlineEnclosure-2"> - <table> - <tr> - <td><span>Test Label 2</span></td> - </tr> - </table> -</div> - -<span id="InlineEnclosure-3" style="display:none"></span> - -<div id="InlineEnclosure-4"> - <table> - <tr> - <td><span>Test Label 4</span></td> - </tr> - </table> - <table> - <tr> - <td><span>Test Label 5</span></td> - </tr> - </table> - <table> - <tr> - <td><span>Test Label 6</span></td> - </tr> - </table> - <table> - <tr> - <td><span>Test Label 7</span></td> - </tr> - </table> -</div> - -<div id="InlineEnclosure-5"><span> <span>Test Label 8</span> </span></div> - -<div id="InlineEnclosure-6"><span>Test Label 9</span></div> - -<div id="customInlineEnclosureId7"><span>Test Label 10</span> -</div> - - -</body> -</html> +<html> +<body> + +<span id="wicket_InlineEnclosure-1"> <span>Test Label 1</span> </span> + +<div id="wicket_InlineEnclosure-2"> + <table> + <tr> + <td><span>Test Label 2</span></td> + </tr> + </table> +</div> + +<span id="wicket_InlineEnclosure-3" style="display:none"></span> + +<div id="wicket_InlineEnclosure-4"> + <table> + <tr> + <td><span>Test Label 4</span></td> + </tr> + </table> + <table> + <tr> + <td><span>Test Label 5</span></td> + </tr> + </table> + <table> + <tr> + <td><span>Test Label 6</span></td> + </tr> + </table> + <table> + <tr> + <td><span>Test Label 7</span></td> + </tr> + </table> +</div> + +<div id="wicket_InlineEnclosure-5"><span> <span>Test Label 8</span> </span></div> + +<div id="wicket_InlineEnclosure-6"><span>Test Label 9</span></div> + +<div id="customInlineEnclosureId"><span>Test Label 10</span> +</div> + + +</body> +</html> http://git-wip-us.apache.org/repos/asf/wicket/blob/a293ddf7/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 c13c05e..e2e2b17 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 @@ -1,106 +1,106 @@ -<html> -<body> - -<!-- nested inline enclosures with separate child depths. --> -<div id="InlineEnclosure-1"><span>Test Label 1</span> - <div id="InlineEnclosure-2"> - <table> - <tr> - <td><span>Test Label 2</span></td> - </tr> - </table> - </div> -</div> - -<!-- nested inline enclosures with same child depth. --> -<div id="InlineEnclosure-3"> - <div id="InlineEnclosure-4"> - <span>Test Label 3</span> - <span>Test Label 4</span> - </div> -</div> - -<!-- enclosure tag nested inside inline enclosure with separate child depths. --> -<div id="InlineEnclosure-5"> <span>Test Label 5</span> - - <table> - <tr> - <td> - <span>Test Label 6</span> - </td> - </tr> - </table> - -</div> - -<!-- enclosure tag nested inside inline enclosure with same child depth. --> -<div id="InlineEnclosure-7"> - - <table> - <tr> - <td> - <span>Test Label 7</span> - <span>Test Label 8</span> - </td> - </tr> - </table> - -</div> - -<!-- inline enclosure nested inside enclosure tag with separate child depths. --> - - <div id="InlineEnclosure-10"> <span>Test Label 9</span> - <table> - <tr> - <td><span>Test Label 10</span></td> - </tr> - </table> - </div> - - -<!-- inline enclosure nested inside enclosure tag with same child depth. --> -<div id="InlineEnclosure-11"> - - <table> - <tr> - <td> - <span>Test Label 11</span> - <span>Test Label 12</span> - </td> - </tr> - </table> - -</div> - -<!-- inline enclosure nested inside enclosure tag with same child depth inside a wicket container. --> - - <div id="InlineEnclosure-14"> - <div> - <table> - <tr> - <td> - <span>Test Label 13</span> - <span>Test Label 14</span> - </td> - </tr> - </table> - </div> - </div> - - - -<!-- nested inline enclosures without explicitly determining children --> -<div id="InlineEnclosure-15"> - <div id="InlineEnclosure-16"> - <table> - <tr> - <td> - <span>Test Label 15</span> - </td> - </tr> - </table> - </div> -</div> - -</body> -</html> +<html> +<body> + +<!-- nested inline enclosures with separate child depths. --> +<div id="wicket_InlineEnclosure-1"><span>Test Label 1</span> + <div id="wicket_InlineEnclosure-2"> + <table> + <tr> + <td><span>Test Label 2</span></td> + </tr> + </table> + </div> +</div> + +<!-- nested inline enclosures with same child depth. --> +<div id="wicket_InlineEnclosure-3"> + <div id="wicket_InlineEnclosure-4"> + <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-5"> <span>Test Label 5</span> + + <table> + <tr> + <td> + <span>Test Label 6</span> + </td> + </tr> + </table> + +</div> + +<!-- enclosure tag nested inside inline enclosure with same child depth. --> +<div id="wicket_InlineEnclosure-7"> + + <table> + <tr> + <td> + <span>Test Label 7</span> + <span>Test Label 8</span> + </td> + </tr> + </table> + +</div> + +<!-- inline enclosure nested inside enclosure tag with separate child depths. --> + + <div id="wicket_InlineEnclosure-10"> <span>Test Label 9</span> + <table> + <tr> + <td><span>Test Label 10</span></td> + </tr> + </table> + </div> + + +<!-- inline enclosure nested inside enclosure tag with same child depth. --> +<div id="wicket_InlineEnclosure-11"> + + <table> + <tr> + <td> + <span>Test Label 11</span> + <span>Test Label 12</span> + </td> + </tr> + </table> + +</div> + +<!-- inline enclosure nested inside enclosure tag with same child depth inside a wicket container. --> + + <div id="wicket_InlineEnclosure-14"> + <div> + <table> + <tr> + <td> + <span>Test Label 13</span> + <span>Test Label 14</span> + </td> + </tr> + </table> + </div> + </div> + + + +<!-- nested inline enclosures without explicitly determining children --> +<div id="wicket_InlineEnclosure-15"> + <div id="wicket_InlineEnclosure-16"> + <table> + <tr> + <td> + <span>Test Label 15</span> + </td> + </tr> + </table> + </div> +</div> + +</body> +</html> http://git-wip-us.apache.org/repos/asf/wicket/blob/a293ddf7/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 9f900eb..2b6aa45 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,18 +1,18 @@ -<html> -<body> - <div id="InlineEnclosure-1"> - <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="InlineEnclosure-2"> - <span>Inside InlineEnclosure, Panel and another InlineEnclosure: hello again.</span> - </div> - -</div> - </div> - </div> -</body> -</html> +<html> +<body> + <div id="wicket_InlineEnclosure-1"> + <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-2"> + <span>Inside InlineEnclosure, Panel and another InlineEnclosure: hello again.</span> + </div> + +</div> + </div> + </div> +</body> +</html> http://git-wip-us.apache.org/repos/asf/wicket/blob/a293ddf7/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 8ea5093..0e8e911 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="_message_attr_1" 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/a293ddf7/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 d0bc411..6d8d995 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="_message_attr_1" 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/a293ddf7/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 0927a3c..90c0705 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 @@ -136,7 +136,7 @@ public class TogglePageTest extends WicketTestCase */ public void testInlineEnclosureAjaxPage() { - String inlineEnclosureIdPrefix = "InlineEnclosure-"; + String inlineEnclosureIdPrefix = "wicket_InlineEnclosure-"; String inlineEnclosureHiddenPattern = "<tr id=\"" + inlineEnclosureIdPrefix + "1\" style=\"display:none\"></tr>";
