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

Reply via email to