You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2010/01/02 20:55:28 UTC

svn commit: r895276 - in /wicket/trunk/wicket/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/markup/ main/java/org/apache/wicket/markup/html/ main/java/org/apache/wicket/markup/html/border/ main/java/org/apache/wicket/markup/html/form/ m...

Author: jdonnerstag
Date: Sat Jan  2 19:55:19 2010
New Revision: 895276

URL: http://svn.apache.org/viewvc?rev=895276&view=rev
Log:
wip on onMarkupAttached()

Added:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
      - copied, changed from r894697, wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TransparentWebMarkupContainer.java
Removed:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/OpenTagIterator.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TransparentWebMarkupContainer.java
Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/WicketTag.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ContainerWithAssociatedMarkupHelper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/HeaderPartContainer.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoComponentResolver.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/FragmentResolver.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketContainerResolver.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
    wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Sat Jan  2 19:55:19 2010
@@ -863,11 +863,12 @@
 
 	/**
 	 * Set the markup for the component. Note that the component's markup variable is transient and
-	 * thus must only be used for one render cycle. E.g. auto-component are using it.
+	 * thus must only be used for one render cycle. E.g. auto-component are using it. You may also
+	 * it if you subclassed getMarkup().
 	 * 
 	 * @param markup
 	 */
-	final void setMarkup(final IMarkupFragment markup)
+	public final void setMarkup(final IMarkupFragment markup)
 	{
 		this.markup = markup;
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/WicketTag.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/WicketTag.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/WicketTag.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/WicketTag.java Sat Jan  2 19:55:19 2010
@@ -16,7 +16,18 @@
  */
 package org.apache.wicket.markup;
 
+import org.apache.wicket.markup.html.border.Border;
+import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.markup.parser.XmlTag;
+import org.apache.wicket.markup.parser.filter.EnclosureHandler;
+import org.apache.wicket.markup.parser.filter.WicketLinkTagHandler;
+import org.apache.wicket.markup.parser.filter.WicketRemoveTagHandler;
+import org.apache.wicket.markup.resolver.AutoComponentResolver;
+import org.apache.wicket.markup.resolver.FragmentResolver;
+import org.apache.wicket.markup.resolver.HtmlHeaderResolver;
+import org.apache.wicket.markup.resolver.MarkupInheritanceResolver;
+import org.apache.wicket.markup.resolver.WicketContainerResolver;
+import org.apache.wicket.markup.resolver.WicketMessageResolver;
 
 /**
  * WicketTag extends ComponentTag and will be created by a MarkupParser whenever it parses a tag in
@@ -71,7 +82,7 @@
 	 */
 	public final boolean isComponentTag()
 	{
-		return "component".equalsIgnoreCase(getName());
+		return AutoComponentResolver.COMPONENT.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -79,7 +90,7 @@
 	 */
 	public final boolean isContainerTag()
 	{
-		return "container".equalsIgnoreCase(getName());
+		return WicketContainerResolver.CONTAINER.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -87,7 +98,7 @@
 	 */
 	public final boolean isLinkTag()
 	{
-		return "link".equalsIgnoreCase(getName());
+		return WicketLinkTagHandler.LINK.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -95,7 +106,7 @@
 	 */
 	public final boolean isRemoveTag()
 	{
-		return "remove".equalsIgnoreCase(getName());
+		return WicketRemoveTagHandler.REMOVE.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -103,7 +114,7 @@
 	 */
 	public final boolean isBodyTag()
 	{
-		return "body".equalsIgnoreCase(getName());
+		return Border.BODY.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -111,7 +122,7 @@
 	 */
 	public final boolean isChildTag()
 	{
-		return "child".equalsIgnoreCase(getName());
+		return MarkupInheritanceResolver.CHILD.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -119,7 +130,7 @@
 	 */
 	public final boolean isExtendTag()
 	{
-		return "extend".equalsIgnoreCase(getName());
+		return MarkupInheritanceResolver.EXTEND.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -127,7 +138,7 @@
 	 */
 	public final boolean isHeadTag()
 	{
-		return "head".equalsIgnoreCase(getName());
+		return HtmlHeaderResolver.HEAD.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -135,7 +146,7 @@
 	 */
 	public final boolean isMessageTag()
 	{
-		return "message".equalsIgnoreCase(getName());
+		return WicketMessageResolver.MESSAGE.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -143,7 +154,7 @@
 	 */
 	public final boolean isPanelTag()
 	{
-		return "panel".equalsIgnoreCase(getName());
+		return Panel.PANEL.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -151,7 +162,7 @@
 	 */
 	public final boolean isBorderTag()
 	{
-		return "border".equalsIgnoreCase(getName());
+		return Border.BORDER.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -159,7 +170,7 @@
 	 */
 	public final boolean isFragementTag()
 	{
-		return "fragment".equalsIgnoreCase(getName());
+		return FragmentResolver.FRAGMENT.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -167,7 +178,7 @@
 	 */
 	public final boolean isEnclosureTag()
 	{
-		return "enclosure".equalsIgnoreCase(getName());
+		return EnclosureHandler.ENCLOSURE.equalsIgnoreCase(getName());
 	}
 
 	/**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ContainerWithAssociatedMarkupHelper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ContainerWithAssociatedMarkupHelper.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ContainerWithAssociatedMarkupHelper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ContainerWithAssociatedMarkupHelper.java Sat Jan  2 19:55:19 2010
@@ -155,9 +155,9 @@
 				// Create the header container and associate the markup with it
 				String scope = wTag.getAttributes().getString(
 					markupStream.getWicketNamespace() + ":scope");
-				final HeaderPartContainer headerContainer = ((IHeaderPartContainerProvider)container).newHeaderPartContainer(
+				HeaderPartContainer headerContainer = ((IHeaderPartContainerProvider)container).newHeaderPartContainer(
 					headerId, scope);
-				headerContainer.setMyMarkupStream(markupStream);
+				headerContainer.setMarkup(markupStream.getMarkupFragment());
 				headerContainer.setRenderBodyOnly(true);
 
 				// The container does have a header component

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/HeaderPartContainer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/HeaderPartContainer.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/HeaderPartContainer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/HeaderPartContainer.java Sat Jan  2 19:55:19 2010
@@ -19,7 +19,6 @@
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.IMarkupFragment;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.resolver.IComponentResolver;
 
@@ -73,23 +72,4 @@
 		// The tag must be resolved against the panel and not against the page
 		return this.container.get(tag.getId());
 	}
-
-	/**
-	 * @see #setMarkupStream(MarkupStream)
-	 * 
-	 * @param markupStream
-	 */
-	public final void setMyMarkupStream(final MarkupStream markupStream)
-	{
-		super.setMarkupStream(markupStream);
-	}
-
-	/**
-	 * @see org.apache.wicket.Component#getMarkup()
-	 */
-	@Override
-	public IMarkupFragment getMarkup()
-	{
-		return getMarkupStream().getMarkupFragment();
-	}
 }
\ No newline at end of file

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java (from r894697, wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TransparentWebMarkupContainer.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TransparentWebMarkupContainer.java&r1=894697&r2=895276&rev=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TransparentWebMarkupContainer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java Sat Jan  2 19:55:19 2010
@@ -14,13 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.markup.parser.filter;
+package org.apache.wicket.markup.html;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
-import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.resolver.IComponentResolver;
 
 /**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java Sat Jan  2 19:55:19 2010
@@ -19,7 +19,9 @@
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.IMarkupFragment;
-import org.apache.wicket.markup.OpenTagIterator;
+import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.TagUtils;
+import org.apache.wicket.markup.WicketTag;
 import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
 import org.apache.wicket.model.IModel;
 
@@ -95,21 +97,31 @@
 		final Component child)
 	{
 		IMarkupFragment childMarkup = null;
-		OpenTagIterator iter = new OpenTagIterator(markup);
-		while (iter.hasNext() && (childMarkup == null))
+		MarkupStream stream = new MarkupStream(markup);
+		while (stream.skipUntil(ComponentTag.class) && (childMarkup == null))
 		{
-			ComponentTag tag = iter.next();
-			if ((child != null) && "_header_".equals(tag.getId()))
+			ComponentTag tag = stream.getTag();
+			if (tag instanceof WicketTag)
 			{
-				childMarkup = iter.getMarkupFragment().find(child.getId());
-			}
-			else if ((child != null) && "_head".equals(tag.getId()))
-			{
-				if (tag.getMarkupClass() == null)
+				WicketTag wtag = (WicketTag)tag;
+				if (wtag.isHeadTag())
 				{
-					childMarkup = iter.getMarkupFragment().find(child.getId());
+					if (tag.getMarkupClass() == null)
+					{
+						childMarkup = stream.getMarkupFragment().find(child.getId());
+					}
 				}
 			}
+			else if (TagUtils.isHeadTag(tag))
+			{
+				childMarkup = stream.getMarkupFragment().find(child.getId());
+			}
+
+			if (tag.isOpen() && !tag.hasNoCloseTag())
+			{
+				stream.skipToMatchingCloseTag(tag);
+			}
+			stream.next();
 		}
 
 		return childMarkup;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java Sat Jan  2 19:55:19 2010
@@ -27,14 +27,14 @@
 import org.apache.wicket.markup.MarkupFragment;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.WicketTag;
-import org.apache.wicket.markup.html.WebComponent;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
 import org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup;
 import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
 import org.apache.wicket.markup.parser.XmlTag;
-import org.apache.wicket.markup.parser.filter.TransparentWebMarkupContainer;
 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.Checks;
 
 /**
  * A border component has associated markup which is drawn and determines placement of markup and/or
@@ -135,8 +135,11 @@
 {
 	private static final long serialVersionUID = 1L;
 
-	static final String BODY = "body";
-	static final String BORDER = "border";
+	/** */
+	public static final String BODY = "body";
+
+	/** */
+	public static final String BORDER = "border";
 
 	static
 	{
@@ -145,9 +148,6 @@
 		WicketTagIdentifier.registerWellKnownTagName(BODY);
 	}
 
-	/** Must be the same as the id automatically assigned to <wicket:body> */
-	static final String BODY_ID = "_body";
-
 	/** The body component associated with <wicket:body> */
 	private final BorderBodyContainer body;
 
@@ -178,7 +178,7 @@
 	{
 		super(id, model);
 
-		body = newBorderBodyContainer(id + BODY_ID);
+		body = newBorderBodyContainer(id + "_" + BODY);
 		addToBorder(body);
 	}
 
@@ -406,12 +406,7 @@
 		// Since we created the body component instance, identifying that we found it is easy.
 		if (child == body)
 		{
-			// Find the markup for the child component. Make sure you use the preset default value.
-			childMarkup = childMarkup.find(BODY_ID);
-			if (childMarkup != null)
-			{
-				return childMarkup;
-			}
+			return body.getMarkup();
 		}
 
 		// Find the markup for the child component
@@ -511,7 +506,54 @@
 		@Override
 		public IMarkupFragment getMarkup()
 		{
-			return getParent().getMarkup(new WebComponent(BODY_ID));
+			IMarkupFragment markup = findByName(getParent().getMarkup(null), BODY);
+			setMarkup(markup);
+			return markup;
+		}
+
+		/**
+		 * Search for &lt;wicket:'name' ...&gt; on the same level, but ignoring other "transparent"
+		 * tags such as &lt;wicket:enclosure&gt; etc.
+		 * 
+		 * @param markup
+		 * @param name
+		 * @return null, if not found
+		 */
+		private final IMarkupFragment findByName(final IMarkupFragment markup, final String name)
+		{
+			Checks.argumentNotEmpty(name, "name");
+
+			MarkupStream stream = new MarkupStream(markup);
+
+			// Skip any raw markup
+			stream.skipUntil(ComponentTag.class);
+
+			// Skip <wicket:border>
+			stream.next();
+
+			while (stream.skipUntil(ComponentTag.class))
+			{
+				ComponentTag tag = stream.getTag();
+				if (tag.isOpen() || tag.isOpenClose())
+				{
+					if (tag instanceof WicketTag)
+					{
+						WicketTag wtag = (WicketTag)tag;
+						if (wtag.isBodyTag())
+						{
+							return stream.getMarkupFragment();
+						}
+					}
+					if (tag.isOpen() && !tag.hasNoCloseTag() && !(tag instanceof WicketTag))
+					{
+						stream.skipToMatchingCloseTag(tag);
+					}
+				}
+
+				stream.next();
+			}
+
+			return null;
 		}
 
 		/**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java Sat Jan  2 19:55:19 2010
@@ -21,10 +21,12 @@
 import org.apache.wicket.markup.IMarkupFragment;
 import org.apache.wicket.markup.MarkupException;
 import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.WicketTag;
 import org.apache.wicket.markup.html.ContainerWithAssociatedMarkupHelper;
 import org.apache.wicket.markup.html.HeaderPartContainer;
 import org.apache.wicket.markup.html.IHeaderPartContainerProvider;
 import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
+import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.markup.parser.XmlTag;
 import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
 import org.apache.wicket.model.IModel;
@@ -125,7 +127,7 @@
 	static
 	{
 		// register "wicket:panel"
-		WicketTagIdentifier.registerWellKnownTagName("panel");
+		WicketTagIdentifier.registerWellKnownTagName(Panel.PANEL);
 	}
 
 	private ContainerWithAssociatedMarkupHelper markupHelper;
@@ -246,7 +248,7 @@
 		}
 
 		// Find <wicket:panel>
-		IMarkupFragment panelMarkup = markup.find("_panel");
+		IMarkupFragment panelMarkup = findPanelTag(markup);
 		if (panelMarkup == null)
 		{
 			throw new MarkupException(
@@ -263,4 +265,41 @@
 		// else, find the markup fragment for the child component
 		return panelMarkup.find(child.getId());
 	}
+
+	/**
+	 * Search for &lt;wicket:'name' ...&gt; on the same level, but ignoring other "transparent" tags
+	 * such as &lt;wicket:enclosure&gt; etc.
+	 * 
+	 * @param markup
+	 * @param name
+	 * @return null, if not found
+	 */
+	private final IMarkupFragment findPanelTag(final IMarkupFragment markup)
+	{
+		MarkupStream stream = new MarkupStream(markup);
+
+		while (stream.skipUntil(ComponentTag.class))
+		{
+			ComponentTag tag = stream.getTag();
+			if (tag.isOpen() || tag.isOpenClose())
+			{
+				if (tag instanceof WicketTag)
+				{
+					WicketTag wtag = (WicketTag)tag;
+					if (wtag.isPanelTag())
+					{
+						return stream.getMarkupFragment();
+					}
+				}
+				if (tag.isOpen() && !tag.hasNoCloseTag() && !(tag instanceof WicketTag))
+				{
+					stream.skipToMatchingCloseTag(tag);
+				}
+			}
+
+			stream.next();
+		}
+
+		return null;
+	}
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java Sat Jan  2 19:55:19 2010
@@ -25,12 +25,12 @@
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupException;
 import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
 import org.apache.wicket.markup.html.basic.EnclosureContainer;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.markup.html.form.IFormSubmittingComponent;
 import org.apache.wicket.markup.parser.filter.EnclosureHandler;
-import org.apache.wicket.markup.parser.filter.TransparentWebMarkupContainer;
 import org.apache.wicket.response.NullResponse;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java Sat Jan  2 19:55:19 2010
@@ -28,11 +28,11 @@
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.IMarkupFragment;
-import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.MarkupException;
 import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.WicketTag;
 import org.apache.wicket.markup.html.IHeaderResponse;
-import org.apache.wicket.markup.parser.filter.TransparentWebMarkupContainer;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
 import org.apache.wicket.response.StringResponse;
 
 
@@ -340,35 +340,35 @@
 			throw new MarkupException("Unable to get page markup: " + getPage().toString());
 		}
 
-		// wicket id can be either "_header_" or "_head"
-
 		// Find the markup fragment
 		MarkupStream stream = new MarkupStream(markup);
-		while (stream.hasMore())
+		IMarkupFragment headerMarkup = null;
+		while (stream.skipUntil(ComponentTag.class) && (headerMarkup == null))
 		{
-			MarkupElement elem = stream.get();
-			if (elem instanceof ComponentTag)
+			ComponentTag tag = stream.getTag();
+			if (tag.isOpen() || tag.isOpenClose())
 			{
-				ComponentTag tag = stream.getTag();
-				if (tag.isOpen() || tag.isOpenClose())
+				if (tag instanceof WicketTag)
 				{
-					if (tag.getId().equals("_header_"))
-					{
-						return stream.getMarkupFragment();
-					}
-					if (tag.getId().equals("_head"))
+					WicketTag wtag = (WicketTag)tag;
+					if (wtag.isHeadTag())
 					{
 						if (tag.getMarkupClass() == null)
 						{
-							return stream.getMarkupFragment();
+							headerMarkup = stream.getMarkupFragment();
 						}
 					}
 				}
+				else if (tag.getName().equalsIgnoreCase("head"))
+				{
+					headerMarkup = stream.getMarkupFragment();
+				}
 			}
 
 			stream.next();
 		}
 
-		return null;
+		setMarkup(headerMarkup);
+		return headerMarkup;
 	}
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java Sat Jan  2 19:55:19 2010
@@ -22,6 +22,7 @@
 import org.apache.wicket.markup.MarkupException;
 import org.apache.wicket.markup.MarkupNotFoundException;
 import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.WicketTag;
 import org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup;
 import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
 import org.apache.wicket.markup.parser.XmlTag;
@@ -62,10 +63,12 @@
 {
 	private static final long serialVersionUID = 1L;
 
+	public static final String PANEL = "panel";
+
 	static
 	{
 		// register "wicket:panel"
-		WicketTagIdentifier.registerWellKnownTagName("panel");
+		WicketTagIdentifier.registerWellKnownTagName(PANEL);
 	}
 
 	/** If if tag was an open-close tag */
@@ -114,7 +117,7 @@
 	protected void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag)
 	{
 		// Render the associated markup
-		renderAssociatedMarkup("panel",
+		renderAssociatedMarkup(PANEL,
 			"Markup for a panel component has to contain part '<wicket:panel>'");
 
 		if (wasOpenCloseTag == false)
@@ -155,7 +158,7 @@
 		}
 
 		// Find <wicket:panel>
-		IMarkupFragment panelMarkup = markup.find("_panel");
+		IMarkupFragment panelMarkup = findPanelTag(markup);
 		if (panelMarkup == null)
 		{
 			throw new MarkupNotFoundException(
@@ -178,4 +181,41 @@
 
 		return findMarkupInAssociatedFileHeader(markup, child);
 	}
+
+	/**
+	 * Search for &lt;wicket:'name' ...&gt; on the same level, but ignoring other "transparent" tags
+	 * such as &lt;wicket:enclosure&gt; etc.
+	 * 
+	 * @param markup
+	 * @param name
+	 * @return null, if not found
+	 */
+	private final IMarkupFragment findPanelTag(final IMarkupFragment markup)
+	{
+		MarkupStream stream = new MarkupStream(markup);
+
+		while (stream.skipUntil(ComponentTag.class))
+		{
+			ComponentTag tag = stream.getTag();
+			if (tag.isOpen() || tag.isOpenClose())
+			{
+				if (tag instanceof WicketTag)
+				{
+					WicketTag wtag = (WicketTag)tag;
+					if (wtag.isPanelTag())
+					{
+						return stream.getMarkupFragment();
+					}
+				}
+				if (tag.isOpen() && !tag.hasNoCloseTag() && !(tag instanceof WicketTag))
+				{
+					stream.skipToMatchingCloseTag(tag);
+				}
+			}
+
+			stream.next();
+		}
+
+		return null;
+	}
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java Sat Jan  2 19:55:19 2010
@@ -33,6 +33,8 @@
 	/** The next MarkupFilter in the chain */
 	private IMarkupFilter parent;
 
+	private int count;
+
 	/**
 	 * Construct.
 	 */
@@ -81,4 +83,13 @@
 	{
 		return (ComponentTag)getParent().nextTag();
 	}
+
+	/**
+	 * 
+	 * @return A unique count per instance
+	 */
+	protected int getCount()
+	{
+		return count++;
+	}
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java Sat Jan  2 19:55:19 2010
@@ -49,13 +49,16 @@
 {
 	private static final long serialVersionUID = 1L;
 
+	/** */
+	public static final String ENCLOSURE = "enclosure";
+
 	/** The child attribute */
 	public static final String CHILD_ATTRIBUTE = "child";
 
 	static
 	{
 		// register "wicket:enclosure"
-		WicketTagIdentifier.registerWellKnownTagName("enclosure");
+		WicketTagIdentifier.registerWellKnownTagName(ENCLOSURE);
 	}
 
 	/** Stack of <wicket:enclosure> tags */
@@ -159,22 +162,8 @@
 	{
 		if ((tag instanceof WicketTag) && ((WicketTag)tag).isEnclosureTag())
 		{
-			CharSequence wicketId = tag.getString("wicket:id");
-			String id = null;
-			if (wicketId != null)
-			{
-				id = wicketId.toString();
-			}
-
-			if (id == null)
-			{
-				id = "enclosure-" + container.getPage().getAutoIndex();
-				tag.setId(id);
-				tag.setModified(true);
-			}
-
 			// Yes, we handled the tag
-			return new Enclosure(id, tag.getString(EnclosureHandler.CHILD_ATTRIBUTE));
+			return new Enclosure(tag.getId(), tag.getString(EnclosureHandler.CHILD_ATTRIBUTE));
 		}
 
 		// We were not able to handle the tag

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java Sat Jan  2 19:55:19 2010
@@ -27,6 +27,7 @@
 import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
 import org.apache.wicket.markup.resolver.IComponentResolver;
 import org.apache.wicket.request.IRequestCodingStrategy;
 import org.slf4j.Logger;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java Sat Jan  2 19:55:19 2010
@@ -26,6 +26,7 @@
 import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
 import org.apache.wicket.markup.resolver.IComponentResolver;
 import org.apache.wicket.util.collections.ArrayListStack;
 import org.apache.wicket.util.string.StringValueConversionException;
@@ -51,13 +52,16 @@
 {
 	private static final long serialVersionUID = 1L;
 
+	/** */
+	public static final String LINK = "link";
+
 	/** The id of autolink components */
 	public static final String AUTOLINK_ID = "_autolink_";
 
 	static
 	{
 		// register "wicket:link"
-		WicketTagIdentifier.registerWellKnownTagName("link");
+		WicketTagIdentifier.registerWellKnownTagName(LINK);
 	}
 
 	/** Allow to have link regions within link regions */

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java Sat Jan  2 19:55:19 2010
@@ -26,6 +26,7 @@
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
 import org.apache.wicket.markup.html.WebComponent;
 import org.apache.wicket.markup.resolver.IComponentResolver;
 import org.apache.wicket.util.string.Strings;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java Sat Jan  2 19:55:19 2010
@@ -33,10 +33,13 @@
  */
 public final class WicketRemoveTagHandler extends BaseMarkupFilter
 {
+	/** */
+	public static final String REMOVE = "remove";
+
 	static
 	{
 		// register "wicket:remove"
-		WicketTagIdentifier.registerWellKnownTagName("remove");
+		WicketTagIdentifier.registerWellKnownTagName(REMOVE);
 	}
 
 	/**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java Sat Jan  2 19:55:19 2010
@@ -28,6 +28,7 @@
 import org.apache.wicket.markup.WicketTag;
 import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 import org.apache.wicket.markup.parser.XmlTag;
+import org.apache.wicket.util.string.Strings;
 
 
 /**
@@ -83,6 +84,9 @@
 
 		final String namespace = markup.getWicketNamespace();
 
+		// If the form <tag wicket:id = "value"> is used
+		final String wicketIdValue = xmlTag.getAttributes().getString(namespace + ":id");
+
 		// Identify tags with Wicket namespace
 		ComponentTag tag;
 		if (namespace.equalsIgnoreCase(xmlTag.getNamespace()))
@@ -90,10 +94,13 @@
 			// It is <wicket:...>
 			tag = new WicketTag(xmlTag);
 
-			// Make it a Wicket component. Otherwise it would be RawMarkup
-			tag.setId("_" + tag.getName());
-			tag.setAutoComponentTag(true);
-			tag.setModified(true);
+			if (Strings.isEmpty(wicketIdValue))
+			{
+				// Make it a Wicket component. Otherwise it would be RawMarkup
+				tag.setId("_" + tag.getName() + getCount());
+				tag.setAutoComponentTag(true);
+				tag.setModified(true);
+			}
 
 			// If the tag is not a well-known wicket namespace tag
 			if (!isWellKnown(xmlTag))
@@ -110,18 +117,16 @@
 			tag = new ComponentTag(xmlTag);
 		}
 
-		// If the form <tag wicket:id = "value"> is used
-		final String value = tag.getAttributes().getString(namespace + ":id");
-		if (value != null)
+		if (wicketIdValue != null)
 		{
-			if (value.trim().length() == 0)
+			if (wicketIdValue.trim().length() == 0)
 			{
 				throw new WicketParseException(
 					"The wicket:id attribute value must not be empty. May be unmatched quotes?!?",
 					tag);
 			}
 			// Make it a wicket component. Otherwise it would be RawMarkup
-			tag.setId(value);
+			tag.setId(wicketIdValue);
 		}
 
 		return tag;
@@ -145,6 +150,11 @@
 		}
 	}
 
+	/**
+	 * 
+	 * @param xmlTag
+	 * @return true, if name is known
+	 */
 	private boolean isWellKnown(final XmlTag xmlTag)
 	{
 		final Iterator<String> iterator = wellKnownTagNames.iterator();

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoComponentResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoComponentResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoComponentResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoComponentResolver.java Sat Jan  2 19:55:19 2010
@@ -53,10 +53,12 @@
 {
 	private static final long serialVersionUID = 1L;
 
+	public static final String COMPONENT = "component";
+
 	static
 	{
 		// register "wicket:component"
-		WicketTagIdentifier.registerWellKnownTagName("component");
+		WicketTagIdentifier.registerWellKnownTagName(COMPONENT);
 	}
 
 	/**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/FragmentResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/FragmentResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/FragmentResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/FragmentResolver.java Sat Jan  2 19:55:19 2010
@@ -40,10 +40,13 @@
 {
 	private static final long serialVersionUID = 1L;
 
+	/** */
+	public static final String FRAGMENT = "fragment";
+
 	static
 	{
 		// register "wicket:fragment"
-		WicketTagIdentifier.registerWellKnownTagName("fragment");
+		WicketTagIdentifier.registerWellKnownTagName(FRAGMENT);
 	}
 
 	/**
@@ -61,8 +64,7 @@
 			// If <wicket:fragment ...>
 			if (wTag.isFragementTag())
 			{
-				String id = wTag.getId() + container.getPage().getAutoIndex();
-				return new WebComponent(id).setVisible(false);
+				return new WebComponent(wTag.getId()).setVisible(false);
 			}
 		}
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java Sat Jan  2 19:55:19 2010
@@ -23,11 +23,11 @@
 import org.apache.wicket.markup.MarkupException;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
 import org.apache.wicket.markup.parser.filter.HtmlHeaderSectionHandler;
-import org.apache.wicket.markup.parser.filter.TransparentWebMarkupContainer;
 import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
 import org.apache.wicket.util.resource.IResourceStream;
 
@@ -48,10 +48,13 @@
 {
 	private static final long serialVersionUID = 1L;
 
+	/** */
+	public static final String HEAD = "head";
+
 	static
 	{
 		// register "wicket:head"
-		WicketTagIdentifier.registerWellKnownTagName("head");
+		WicketTagIdentifier.registerWellKnownTagName(HEAD);
 	}
 
 	/**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java Sat Jan  2 19:55:19 2010
@@ -21,7 +21,7 @@
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.WicketTag;
-import org.apache.wicket.markup.parser.filter.TransparentWebMarkupContainer;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
 import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
 
 /**
@@ -34,11 +34,17 @@
 {
 	private static final long serialVersionUID = 1L;
 
+	/** */
+	public static final String CHILD = "child";
+
+	/** */
+	public static final String EXTEND = "extend";
+
 	static
 	{
 		// register "wicket:extend" and "wicket:child"
-		WicketTagIdentifier.registerWellKnownTagName("extend");
-		WicketTagIdentifier.registerWellKnownTagName("child");
+		WicketTagIdentifier.registerWellKnownTagName(EXTEND);
+		WicketTagIdentifier.registerWellKnownTagName(CHILD);
 	}
 
 	/**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketContainerResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketContainerResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketContainerResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketContainerResolver.java Sat Jan  2 19:55:19 2010
@@ -65,10 +65,13 @@
 
 	private static final long serialVersionUID = 1L;
 
+	/** */
+	public static final String CONTAINER = "container";
+
 	static
 	{
 		// register "wicket:container"
-		WicketTagIdentifier.registerWellKnownTagName("container");
+		WicketTagIdentifier.registerWellKnownTagName(CONTAINER);
 	}
 
 	/**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java Sat Jan  2 19:55:19 2010
@@ -96,10 +96,13 @@
 
 	private static final Logger log = LoggerFactory.getLogger(WicketMessageResolver.class);
 
+	/** */
+	public static final String MESSAGE = "message";
+
 	static
 	{
 		// register "wicket:message"
-		WicketTagIdentifier.registerWellKnownTagName("message");
+		WicketTagIdentifier.registerWellKnownTagName(MESSAGE);
 	}
 
 	/**

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java Sat Jan  2 19:55:19 2010
@@ -23,7 +23,6 @@
 import org.apache.wicket.Page;
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.markup.IMarkupFragment;
-import org.apache.wicket.markup.html.WebComponent;
 import org.apache.wicket.markup.html.border.Border;
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.markup.html.panel.InlinePanelPage_1;
@@ -163,7 +162,7 @@
 		markup = border.getBodyContainer().getMarkup(null);
 		compare(markup, "<span wicket:id=\"border\">test</span>");
 
-		markup = border.getBodyContainer().getParent().getMarkup(new WebComponent("_body"));
+		markup = border.getBodyContainer().getParent().getMarkup(border.getBodyContainer());
 		compare(markup, "<wicket:body/>");
 
 		// getMarkup(null) returns the markup which is used to find a child component
@@ -195,7 +194,7 @@
 		assertNull(border.getBodyContainer().getAssociatedMarkup());
 
 		// See explanation in BaseBorder.BorderBodyContainer.getMarkup()
-		markup = border.getBodyContainer().getParent().getMarkup(new WebComponent("_body"));
+		markup = border.getBodyContainer().getParent().getMarkup(border.getBodyContainer());
 		compare(markup, "<wicket:body>333</wicket:body>");
 
 		markup = border.getBodyContainer().getMarkup();