WICKET-4829 ComponentResolvers created in app init ignore markup's namespace
Pass the MarkupResourceStream to all IMarkupFilters when available Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/41e40373 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/41e40373 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/41e40373 Branch: refs/heads/master Commit: 41e4037355b0739ec5ba01a1db7181613194348f Parents: 0b577d7 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Fri Nov 2 18:32:20 2012 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Fri Nov 2 18:32:20 2012 +0200 ---------------------------------------------------------------------- .../apache/wicket/markup/AbstractMarkupParser.java | 4 +- .../org/apache/wicket/markup/MarkupParser.java | 12 ++++---- .../markup/html/form/AutoLabelTagHandler.java | 19 ++++++++++++++- .../markup/parser/filter/EnclosureHandler.java | 7 +++++ .../parser/filter/HtmlHeaderSectionHandler.java | 1 + .../parser/filter/InlineEnclosureHandler.java | 7 +++++ .../parser/filter/RelativePathPrefixHandler.java | 2 +- .../markup/parser/filter/RootMarkupFilter.java | 16 +++++++++++- .../parser/filter/WicketContainerTagHandler.java | 8 +++++- .../markup/parser/filter/WicketLinkTagHandler.java | 7 +++++ .../parser/filter/WicketRemoveTagHandler.java | 7 +++++ 11 files changed, 78 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java b/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java index 7e1c80c..d31d75d 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java @@ -108,7 +108,7 @@ public abstract class AbstractMarkupParser markup = new Markup(resource); // The root of all filters is the xml parser - markupFilterChain = new RootMarkupFilter(xmlParser); + markupFilterChain = new RootMarkupFilter(xmlParser, resource); // Initialize the markup filter chain filters = initializeMarkupFilters(markup); @@ -162,7 +162,7 @@ public abstract class AbstractMarkupParser public final Markup parse() throws IOException, ResourceStreamNotFoundException { // The root of all markup filters is the xml parser - markupFilterChain = new RootMarkupFilter(xmlParser); + markupFilterChain = new RootMarkupFilter(xmlParser,markup.getMarkupResourceStream()); // Convert the list of markup filters into a chain for (IMarkupFilter filter : getMarkupFilters()) http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java b/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java index f7872a5..ddd76b4 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java @@ -148,9 +148,9 @@ public class MarkupParser extends AbstractMarkupParser filters.add(new WicketTagIdentifier(markupResourceStream)); filters.add(new HtmlHandler()); - filters.add(new WicketRemoveTagHandler()); - filters.add(new WicketLinkTagHandler()); - filters.add(new AutoLabelTagHandler()); + filters.add(new WicketRemoveTagHandler(markupResourceStream)); + filters.add(new WicketLinkTagHandler(markupResourceStream)); + filters.add(new AutoLabelTagHandler(markupResourceStream)); filters.add(new WicketNamespaceHandler(markupResourceStream)); filters.add(new WicketMessageTagHandler(markupResourceStream)); @@ -172,13 +172,13 @@ public class MarkupParser extends AbstractMarkupParser filters.add(new OpenCloseTagExpander()); filters.add(new RelativePathPrefixHandler(markupResourceStream)); - filters.add(new EnclosureHandler()); - filters.add(new InlineEnclosureHandler()); + filters.add(new EnclosureHandler(markupResourceStream)); + filters.add(new InlineEnclosureHandler(markupResourceStream)); // Append it. See WICKET-4390 filters.add(new StyleAndScriptIdentifier(), StyleAndScriptIdentifier.class); filters.add(new ConditionalCommentFilter()); - filters.add(new WicketContainerTagHandler(Application.get().usesDevelopmentConfig())); + filters.add(new WicketContainerTagHandler(markupResourceStream, Application.get().usesDevelopmentConfig())); return filters; } http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java index 7c4d50b..bf00b4f 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AutoLabelTagHandler.java @@ -32,6 +32,23 @@ import org.apache.wicket.util.string.Strings; */ public class AutoLabelTagHandler extends AbstractMarkupFilter { + + /** + * Constructor. + * + * @deprecated Use #AutoLabelResolver(MarkupResourceStream) instead + */ + @Deprecated + public AutoLabelTagHandler() + { + this(null); + } + + public AutoLabelTagHandler(MarkupResourceStream resourceStream) + { + super(resourceStream); + } + @Override protected MarkupElement onComponentTag(final ComponentTag tag) throws ParseException { @@ -40,7 +57,7 @@ public class AutoLabelTagHandler extends AbstractMarkupFilter return tag; } - String related = tag.getAttribute(AutoLabelResolver.WICKET_FOR); + String related = tag.getAttribute(getWicketNamespace() + AutoLabelResolver.WICKET_FOR); if (related == null) { return tag; http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java index f9bf3bc..55ce2da 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java @@ -23,6 +23,7 @@ import org.apache.wicket.Component; import org.apache.wicket.MarkupContainer; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.MarkupElement; +import org.apache.wicket.markup.MarkupResourceStream; import org.apache.wicket.markup.MarkupStream; import org.apache.wicket.markup.WicketParseException; import org.apache.wicket.markup.WicketTag; @@ -73,6 +74,12 @@ public final class EnclosureHandler extends AbstractMarkupFilter implements ICom */ public EnclosureHandler() { + this(null); + } + + public EnclosureHandler(MarkupResourceStream resourceStream) + { + super(resourceStream); } @Override http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHeaderSectionHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHeaderSectionHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHeaderSectionHandler.java index 1b2ac8e..4edafac 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHeaderSectionHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHeaderSectionHandler.java @@ -65,6 +65,7 @@ public final class HtmlHeaderSectionHandler extends AbstractMarkupFilter */ public HtmlHeaderSectionHandler(final Markup markup) { + super(markup.getMarkupResourceStream()); this.markup = markup; } http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/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 f812f76..3ff7d96 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 @@ -23,6 +23,7 @@ import org.apache.wicket.Component; import org.apache.wicket.MarkupContainer; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.MarkupElement; +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; @@ -68,6 +69,12 @@ public final class InlineEnclosureHandler extends AbstractMarkupFilter */ public InlineEnclosureHandler() { + this(null); + } + + public InlineEnclosureHandler(MarkupResourceStream resourceStream) + { + super(resourceStream); } @Override http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/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 420a881..0359200 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 @@ -29,8 +29,8 @@ import org.apache.wicket.markup.WicketTag; import org.apache.wicket.markup.html.TransparentWebMarkupContainer; import org.apache.wicket.markup.parser.AbstractMarkupFilter; import org.apache.wicket.markup.resolver.IComponentResolver; +import org.apache.wicket.request.UrlUtils; import org.apache.wicket.request.cycle.RequestCycle; -import org.apache.wicket.core.util.string.UrlUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java index 91ec0f9..08a9b48 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java @@ -22,6 +22,7 @@ import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.HtmlSpecialTag; import org.apache.wicket.markup.Markup; import org.apache.wicket.markup.MarkupElement; +import org.apache.wicket.markup.MarkupResourceStream; import org.apache.wicket.markup.parser.AbstractMarkupFilter; import org.apache.wicket.markup.parser.IMarkupFilter; import org.apache.wicket.markup.parser.IXmlPullParser; @@ -39,12 +40,25 @@ public final class RootMarkupFilter extends AbstractMarkupFilter private final IXmlPullParser parser; /** + * Constructor. + * + * @param parser + * the parser that reads the markup + * @deprecated Use #RootMarkupFilter(IXmlPullParser, MarkupResourceStream) instead + */ + public RootMarkupFilter(final IXmlPullParser parser) + { + this(parser, null); + } + + /** * Construct. * * @param parser */ - public RootMarkupFilter(final IXmlPullParser parser) + public RootMarkupFilter(final IXmlPullParser parser, MarkupResourceStream resourceStream) { + super(resourceStream); this.parser = parser; } http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketContainerTagHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketContainerTagHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketContainerTagHandler.java index af22ece..60d392f 100755 --- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketContainerTagHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketContainerTagHandler.java @@ -18,9 +18,9 @@ package org.apache.wicket.markup.parser.filter; import java.text.ParseException; -import org.apache.wicket.Application; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.MarkupElement; +import org.apache.wicket.markup.MarkupResourceStream; import org.apache.wicket.markup.WicketTag; import org.apache.wicket.markup.parser.AbstractMarkupFilter; import org.apache.wicket.util.value.IValueMap; @@ -44,6 +44,12 @@ public class WicketContainerTagHandler extends AbstractMarkupFilter public WicketContainerTagHandler(boolean usesDevelopmentConfig) { + this(null, usesDevelopmentConfig); + } + + public WicketContainerTagHandler(MarkupResourceStream resourceStream, boolean usesDevelopmentConfig) + { + super(resourceStream); this.usesDevelopmentConfig = usesDevelopmentConfig; } http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java index e020057..2efe39f 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java @@ -24,6 +24,7 @@ import org.apache.wicket.MarkupContainer; import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.MarkupElement; +import org.apache.wicket.markup.MarkupResourceStream; import org.apache.wicket.markup.MarkupStream; import org.apache.wicket.markup.WicketTag; import org.apache.wicket.markup.html.TransparentWebMarkupContainer; @@ -76,6 +77,12 @@ public class WicketLinkTagHandler extends AbstractMarkupFilter implements ICompo */ public WicketLinkTagHandler() { + this(null); + } + + public WicketLinkTagHandler(MarkupResourceStream resourceStream) + { + super(resourceStream); setAutomaticLinking(Application.get().getMarkupSettings().getAutomaticLinking()); } http://git-wip-us.apache.org/repos/asf/wicket/blob/41e40373/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java index 8139008..b7282f1 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java @@ -20,6 +20,7 @@ import java.text.ParseException; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.MarkupElement; +import org.apache.wicket.markup.MarkupResourceStream; import org.apache.wicket.markup.WicketParseException; import org.apache.wicket.markup.WicketTag; import org.apache.wicket.markup.parser.AbstractMarkupFilter; @@ -48,6 +49,12 @@ public final class WicketRemoveTagHandler extends AbstractMarkupFilter */ public WicketRemoveTagHandler() { + this(null); + } + + public WicketRemoveTagHandler(MarkupResourceStream resourceStream) + { + super(resourceStream); } @Override
