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 2011/03/20 13:43:28 UTC

svn commit: r1083424 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/markup/ main/java/org/apache/wicket/markup/parser/ main/java/org/apache/wicket/markup/parser/filter/ main/java/org/apache/wicket/util/tester/ test/java/org/apache/wick...

Author: jdonnerstag
Date: Sun Mar 20 12:43:27 2011
New Revision: 1083424

URL: http://svn.apache.org/viewvc?rev=1083424&view=rev
Log:
Finished some work on MarkupFilter which I started earlier but obviously didn't finish yet.
- merged Base and AbstractMarkupFilter into AMF
- XmlTag no longer is a MarkupElement (like RawMarkup and ComponentTag). Since XmlTag will always be wrapped by CT and never be an element of Markup, ...
- renamed IMarkupFilter.nextTag(ComponentTag) to onComponentTag(..)
- updated comments

Removed:
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/BaseMarkupFilter.java
Modified:
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IMarkupFilter.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IXmlPullParser.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HeadForceTagIdHandler.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHandler.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHeaderSectionHandler.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlProblemFinder.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpander.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketNamespaceHandler.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpanderTest.java

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java Sun Mar 20 12:43:27 2011
@@ -211,7 +211,7 @@ public abstract class AbstractMarkupPars
 	 */
 	private ComponentTag getNextTag() throws ParseException
 	{
-		return (ComponentTag)markupFilterChain.nextTag();
+		return (ComponentTag)markupFilterChain.nextElement();
 	}
 
 	/**
@@ -228,8 +228,8 @@ public abstract class AbstractMarkupPars
 			ComponentTag tag;
 			while (null != (tag = getNextTag()))
 			{
-				boolean add = (tag.getId() != null) || tag.getFlag(ComponentTag.ADD);
-				if (!add && tag.getXmlTag().isClose())
+				boolean add = (tag.getId() != null);
+				if (!add && tag.isClose())
 				{
 					add = ((tag.getOpenTag() != null) && (tag.getOpenTag().getId() != null));
 				}
@@ -442,4 +442,13 @@ public abstract class AbstractMarkupPars
 		}
 		return rawMarkup;
 	}
+
+	/**
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString()
+	{
+		return markup.toString();
+	}
 }

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/ComponentTag.java Sun Mar 20 12:43:27 2011
@@ -62,11 +62,8 @@ public class ComponentTag extends Markup
 	/** Some HTML tags are allow to have no close tag, e.g. 'br' */
 	private final static int NO_CLOSE_TAG = 0x0010;
 
-	/** The component tag shall be added to the markup in any case */
-	public final static int ADD = 0x0020;
-
 	/** Render the tag as RawMarkup even if no Component can be found */
-	public final static int RENDER_RAW = 0x0040;
+	public final static int RENDER_RAW = 0x0020;
 
 	/**
 	 * Assuming this is a open (or open-close) tag, 'closes' refers to the ComponentTag which closes
@@ -400,17 +397,6 @@ public class ComponentTag extends Markup
 	}
 
 	/**
-	 * Compare tag name including namespace
-	 * 
-	 * @param tag
-	 * @return true if name and namespace are equal
-	 */
-	public boolean hasEqualTagName(final ComponentTag tag)
-	{
-		return xmlTag.hasEqualTagName(tag.getXmlTag());
-	}
-
-	/**
 	 * Makes this tag object immutable by making the attribute map unmodifiable. Immutable tags
 	 * cannot be made mutable again. They can only be copied into new mutable tag objects.
 	 */
@@ -756,7 +742,7 @@ public class ComponentTag extends Markup
 	/**
 	 * @return Returns the underlying xml tag.
 	 */
-	final XmlTag getXmlTag()
+	public final XmlTag getXmlTag()
 	{
 		return xmlTag;
 	}

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/IMarkupFragment.java Sun Mar 20 12:43:27 2011
@@ -26,7 +26,7 @@ package org.apache.wicket.markup;
  * 
  * @author Juergen Donnerstag
  */
-public interface IMarkupFragment
+public interface IMarkupFragment extends Iterable<MarkupElement>
 {
 	/**
 	 * Get the MarkupElement at the index provided.

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java Sun Mar 20 12:43:27 2011
@@ -18,6 +18,7 @@ package org.apache.wicket.markup;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
 
 import org.apache.wicket.util.lang.Args;
@@ -241,4 +242,22 @@ public class Markup implements IMarkupFr
 
 		return buf.toString();
 	}
+
+	/**
+	 * @see java.lang.Iterable#iterator()
+	 */
+	public final Iterator<MarkupElement> iterator()
+	{
+		return markupElements.iterator();
+	}
+
+	/**
+	 * @param startIndex
+	 * @param size
+	 * @return Iterator
+	 */
+	public final Iterator<MarkupElement> iterator(int startIndex, int size)
+	{
+		return markupElements.subList(startIndex, startIndex + size).iterator();
+	}
 }

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/MarkupFragment.java Sun Mar 20 12:43:27 2011
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.markup;
 
+import java.util.Iterator;
+
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.apache.wicket.util.string.Strings;
@@ -224,4 +226,12 @@ public class MarkupFragment implements I
 		}
 		return buf.toString();
 	}
+
+	/**
+	 * @see java.lang.Iterable#iterator()
+	 */
+	public Iterator<MarkupElement> iterator()
+	{
+		return getRootMarkup().iterator(startIndex, size);
+	}
 }

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java Sun Mar 20 12:43:27 2011
@@ -20,20 +20,21 @@ import java.text.ParseException;
 
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.Markup;
+import org.apache.wicket.markup.MarkupElement;
 
 
 /**
  * Base class for markup filters
  * 
- * @see org.apache.wicket.markup.MarkupParser
- * 
  * @author Jonathan Locke
+ * @author Juergen Donnerstag
  */
 public abstract class AbstractMarkupFilter implements IMarkupFilter
 {
 	/** The next MarkupFilter in the chain */
 	private IMarkupFilter parent;
 
+	/** TODO Not sure this counter is sufficiently safe, since filters are created per markup file. */
 	private int count;
 
 	/**
@@ -44,20 +45,9 @@ public abstract class AbstractMarkupFilt
 	}
 
 	/**
-	 * Construct.
-	 * 
-	 * @param parent
-	 *            The parent of this component The next element in the chain.
-	 */
-	public AbstractMarkupFilter(final IMarkupFilter parent)
-	{
-		this.parent = parent;
-	}
-
-	/**
 	 * @return The next MarkupFilter in the chain
 	 */
-	public final IMarkupFilter getNextFilter()
+	public IMarkupFilter getNextFilter()
 	{
 		return parent;
 	}
@@ -68,24 +58,76 @@ public abstract class AbstractMarkupFilt
 	 * @param parent
 	 *            The parent of this component The next element in the chain
 	 */
-	public final void setNextFilter(final IMarkupFilter parent)
+	public void setNextFilter(final IMarkupFilter parent)
 	{
 		this.parent = parent;
 	}
 
 	/**
-	 * A convenience function to retrieve the next tag (same as nextTag()), however assuming that it
-	 * is a ComponentTag.
-	 * 
-	 * @return ComponentTag
-	 * @throws ParseException
+	 * Get the next xml element from the markup. If eof, than retun null. Ignore raw markup. Invoke
+	 * nextTag(tag) if a tag was found.
 	 */
-	protected final ComponentTag nextComponentTag() throws ParseException
+	public MarkupElement nextElement() throws ParseException
 	{
-		return (ComponentTag)getNextFilter().nextTag();
+		MarkupElement elem = getNextFilter().nextElement();
+		if ((elem != null) && (elem instanceof ComponentTag))
+		{
+			elem = onComponentTag((ComponentTag)elem);
+		}
+		return elem;
 	}
 
 	/**
+	 * Invoked when a ComponentTag was found.
+	 * <p>
+	 * By default this method is also called for WicketTags.
+	 * 
+	 * @param tag
+	 * @return Usually the same as the tag attribute
+	 * @throws ParseException
+	 */
+	protected abstract MarkupElement onComponentTag(ComponentTag tag) throws ParseException;
+
+	/**
+	 * Invoked when a WicketTag was found.
+	 * 
+	 * @param tag
+	 * @return Usually the same as the tag attribute
+	 * @throws ParseException
+	 */
+// Not yet used
+// protected MarkupElement onWicketTag(final WicketTag tag) throws ParseException
+// {
+// return onComponentTag(tag);
+// }
+
+	/**
+	 * Invoked when a tags (e.g. DOCTYPE, PROCESSING_INSTRUCTIION, etc. which have been identified
+	 * as special tags by the xml parser.
+	 * 
+	 * @param tag
+	 * @return Usually the same as the tag attribute
+	 * @throws ParseException
+	 */
+// Not yet used
+// protected MarkupElement onSpecialTag(final ComponentTag tag) throws ParseException
+// {
+// return tag;
+// }
+
+	/**
+	 * Invoked if current element is raw markup
+	 * 
+	 * @param rawMarkup
+	 * @return Usually the same as the tag attribute
+	 */
+// Not yet used
+// protected MarkupElement onRawMarkup(final MarkupElement rawMarkup)
+// {
+// return rawMarkup;
+// }
+
+	/**
 	 * 
 	 * @return A unique count per instance
 	 */
@@ -94,6 +136,9 @@ public abstract class AbstractMarkupFilt
 		return count++;
 	}
 
+	/**
+	 * Noop by default
+	 */
 	public void postProcess(final Markup markup)
 	{
 	}

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IMarkupFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IMarkupFilter.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IMarkupFilter.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IMarkupFilter.java Sun Mar 20 12:43:27 2011
@@ -26,34 +26,23 @@ import org.apache.wicket.markup.MarkupEl
  * Wicket uses a streaming XML parser to read the markup. A chain of IMarkupFilters is used e.g. to
  * remove comments, allow for html typical markup (some tags don't need to be closed explicitly),
  * etc.
- * <p>
- * The streaming XML parser must implement IMarkupFilter itself and thus is usually the first
- * element of the chain.
  * 
  * @see org.apache.wicket.markup.MarkupParser
+ * @see org.apache.wicket.markup.MarkupFactory
+ * 
  * @author Juergen Donnerstag
  */
 public interface IMarkupFilter
 {
 	/**
-	 * IMarkupFilters are usually chained with the last filter being an XML parser. The getParent()
-	 * method returns the next filter in the chain.
+	 * IMarkupFilters are usually chained with the last filter retrieving the elements from the XML
+	 * parser.
 	 * 
 	 * @return The next filter in the chain, or null if the last one.
 	 */
 	IMarkupFilter getNextFilter();
 
 	/**
-	 * Get the next MarkupElement from the parent MarkupFilter and handle it if the specific filter
-	 * criteria are met. Depending on the filter, it may return the MarkupElement unchanged,
-	 * modified or remove it by asking the parent handler for the next tag.
-	 * 
-	 * @return Return the next eligible MarkupElement
-	 * @throws ParseException
-	 */
-	MarkupElement nextTag() throws ParseException;
-
-	/**
 	 * Set parent filter.
 	 * 
 	 * @param parent
@@ -62,7 +51,17 @@ public interface IMarkupFilter
 	void setNextFilter(final IMarkupFilter parent);
 
 	/**
-	 * Called after all filters have been processed
+	 * Get the next MarkupElement from the parent MarkupFilter and handle it if the specific filter
+	 * criteria are met. Depending on the filter, it may return the MarkupElement unchanged,
+	 * modified or remove it by asking the parent handler for the next tag.
+	 * 
+	 * @return Return the next eligible MarkupElement. Null, if no more found.
+	 * @throws ParseException
+	 */
+	MarkupElement nextElement() throws ParseException;
+
+	/**
+	 * Called after all filters have been processed.
 	 * 
 	 * @param markup
 	 */

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IXmlPullParser.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IXmlPullParser.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IXmlPullParser.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/IXmlPullParser.java Sun Mar 20 12:43:27 2011
@@ -20,7 +20,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.text.ParseException;
 
-import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
 
 
@@ -162,7 +161,12 @@ public interface IXmlPullParser
 	 * 
 	 * @return The current element
 	 */
-	MarkupElement getElement();
+	XmlTag getElement();
+
+	/**
+	 * @return The xml string from the last element
+	 */
+	CharSequence getString();
 
 	/**
 	 * Set the position marker of the markup at the current position.

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java Sun Mar 20 12:43:27 2011
@@ -22,7 +22,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.text.ParseException;
 
-import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.parser.XmlTag.TagType;
 import org.apache.wicket.markup.parser.XmlTag.TextSegment;
 import org.apache.wicket.util.io.FullyBufferedReader;
@@ -408,7 +407,7 @@ public final class XmlPullParser impleme
 	/**
 	 * @return MarkupElement
 	 */
-	public final MarkupElement getElement()
+	public final XmlTag getElement()
 	{
 		return lastTag;
 	}
@@ -425,7 +424,7 @@ public final class XmlPullParser impleme
 	 * @return The next XML tag
 	 * @throws ParseException
 	 */
-	public final MarkupElement nextTag() throws ParseException
+	public final XmlTag nextTag() throws ParseException
 	{
 		while (next() != ELEMENT_TYPE.NOT_INITIALIZED)
 		{

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/XmlTag.java Sun Mar 20 12:43:27 2011
@@ -19,7 +19,6 @@ package org.apache.wicket.markup.parser;
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.util.lang.Objects;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.apache.wicket.util.string.StringValue;
@@ -36,7 +35,7 @@ import org.slf4j.LoggerFactory;
  * 
  * @author Jonathan Locke
  */
-public class XmlTag extends MarkupElement
+public class XmlTag
 {
 	/** Log. */
 	private static final Logger log = LoggerFactory.getLogger(XmlTag.class);
@@ -105,23 +104,22 @@ public class XmlTag extends MarkupElemen
 		return (closes == open) || ((closes == open.copyOf) && (this != open));
 	}
 
-	@Override
-	public final boolean equalTo(final MarkupElement element)
+	/**
+	 * @param element
+	 * @return true, if namespace, name and attributes are the same
+	 */
+	public final boolean equalTo(final XmlTag element)
 	{
-		if (element instanceof XmlTag)
+		final XmlTag that = element;
+		if (!Objects.equal(getNamespace(), that.getNamespace()))
 		{
-			final XmlTag that = (XmlTag)element;
-			if (!Objects.equal(getNamespace(), that.getNamespace()))
-			{
-				return false;
-			}
-			if (!getName().equals(that.getName()))
-			{
-				return false;
-			}
-			return getAttributes().equals(that.getAttributes());
+			return false;
 		}
-		return false;
+		if (!getName().equals(that.getName()))
+		{
+			return false;
+		}
+		return getAttributes().equals(that.getAttributes());
 	}
 
 	/**
@@ -285,32 +283,6 @@ public class XmlTag extends MarkupElemen
 	}
 
 	/**
-	 * Compare tag name including namespace
-	 * 
-	 * @param tag
-	 * @return true if name and namespace are equal
-	 */
-	public boolean hasEqualTagName(final XmlTag tag)
-	{
-		if (!getName().equalsIgnoreCase(tag.getName()))
-		{
-			return false;
-		}
-
-		if ((getNamespace() == null) && (tag.getNamespace() == null))
-		{
-			return true;
-		}
-
-		if ((getNamespace() != null) && (tag.getNamespace() != null))
-		{
-			return getNamespace().equalsIgnoreCase(tag.getNamespace());
-		}
-
-		return false;
-	}
-
-	/**
 	 * Makes this tag object immutable by making the attribute map unmodifiable. Immutable tags
 	 * cannot be made mutable again. They can only be copied into new mutable tag objects.
 	 */
@@ -547,7 +519,9 @@ public class XmlTag extends MarkupElemen
 		return toCharSequence().toString();
 	}
 
-	@Override
+	/**
+	 * @return The string representation of the tag
+	 */
 	public CharSequence toCharSequence()
 	{
 		if (!isMutable && (text != null))
@@ -559,11 +533,10 @@ public class XmlTag extends MarkupElemen
 	}
 
 	/**
-	 * Converts this object to a string representation.
+	 * String representation with line and column number
 	 * 
 	 * @return String version of this object
 	 */
-	@Override
 	public String toUserDebugString()
 	{
 		return " '" + toString() + "' (line " + getLineNumber() + ", column " + getColumnNumber() +

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java Sun Mar 20 12:43:27 2011
@@ -27,6 +27,7 @@ import org.apache.wicket.markup.MarkupSt
 import org.apache.wicket.markup.WicketParseException;
 import org.apache.wicket.markup.WicketTag;
 import org.apache.wicket.markup.html.internal.Enclosure;
+import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 import org.apache.wicket.markup.resolver.IComponentResolver;
 
 
@@ -45,7 +46,7 @@ import org.apache.wicket.markup.resolver
  * 
  * @author Juergen Donnerstag
  */
-public final class EnclosureHandler extends BaseMarkupFilter implements IComponentResolver
+public final class EnclosureHandler extends AbstractMarkupFilter implements IComponentResolver
 {
 	private static final long serialVersionUID = 1L;
 
@@ -75,7 +76,7 @@ public final class EnclosureHandler exte
 	}
 
 	@Override
-	protected final MarkupElement nextTag(ComponentTag tag) throws ParseException
+	protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
 		final boolean isWicketTag = tag instanceof WicketTag;
 		final boolean isEnclosureTag = isWicketTag && ((WicketTag)tag).isEnclosureTag();

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HeadForceTagIdHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HeadForceTagIdHandler.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HeadForceTagIdHandler.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HeadForceTagIdHandler.java Sun Mar 20 12:43:27 2011
@@ -21,6 +21,7 @@ import java.text.ParseException;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 import org.apache.wicket.markup.parser.TagAttributes;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 
@@ -37,7 +38,7 @@ import org.apache.wicket.util.string.App
  * 
  * @author Matej Knopp
  */
-public class HeadForceTagIdHandler extends BaseMarkupFilter
+public class HeadForceTagIdHandler extends AbstractMarkupFilter
 {
 	/** Common prefix for all id's generated by this filter */
 	private final String headElementIdPrefix;
@@ -71,7 +72,7 @@ public class HeadForceTagIdHandler exten
 	}
 
 	@Override
-	protected final MarkupElement nextTag(ComponentTag tag) throws ParseException
+	protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
 		// is it a <wicket:head> tag?
 		if (tag instanceof WicketTag && ((WicketTag)tag).isHeadTag())

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHandler.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHandler.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHandler.java Sun Mar 20 12:43:27 2011
@@ -20,7 +20,9 @@ import java.text.ParseException;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.Markup;
 import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.WicketParseException;
 import org.apache.wicket.markup.parser.AbstractMarkupFilter;
@@ -65,36 +67,29 @@ public final class HtmlHandler extends A
 	{
 	}
 
-	public MarkupElement nextTag() throws ParseException
+	@Override
+	public void postProcess(final Markup markup)
 	{
-		// Get the next tag. If null, no more tags are available
-		final ComponentTag tag = (ComponentTag)getNextFilter().nextTag();
-		if (tag == null)
-		{
-			// No more tags from the markup.
-			// If there's still a non-simple tag left, it's an error
-			while (stack.size() > 0)
-			{
-				final ComponentTag top = stack.peek();
+		// If there's still a non-simple tag left, it's an error
+		while (stack.size() > 0)
+		{
+			final ComponentTag top = stack.peek();
 
-				if (!requiresCloseTag(top.getName()))
-				{
-					stack.pop();
-				}
-				else
-				{
-					throw new WicketParseException("Tag does not have a close tag:", top);
-				}
+			if (!requiresCloseTag(top.getName()))
+			{
+				stack.pop();
+			}
+			else
+			{
+				throw new WicketRuntimeException(new WicketParseException(
+					"Tag does not have a close tag:", top));
 			}
-
-			return tag;
-		}
-
-		if (log.isDebugEnabled())
-		{
-			log.debug("tag: " + tag.toUserDebugString() + ", stack: " + stack);
 		}
+	}
 
+	@Override
+	protected MarkupElement onComponentTag(final ComponentTag tag) throws ParseException
+	{
 		// Check tag type
 		if (tag.isOpen())
 		{
@@ -111,7 +106,7 @@ public final class HtmlHandler extends A
 
 				// If the name of the current close tag does not match the
 				// tag on the stack then we may have a mismatched close tag
-				boolean mismatch = !top.hasEqualTagName(tag);
+				boolean mismatch = !hasEqualTagName(top, tag);
 
 				if (mismatch)
 				{
@@ -130,7 +125,7 @@ public final class HtmlHandler extends A
 						top = stack.pop();
 
 						// Does new top of stack mismatch too?
-						mismatch = !top.hasEqualTagName(tag);
+						mismatch = !hasEqualTagName(top, tag);
 					}
 
 					// If adjusting for simple tags did not fix the problem,
@@ -171,4 +166,31 @@ public final class HtmlHandler extends A
 	{
 		return doesNotRequireCloseTag.get(name.toLowerCase()) == null;
 	}
+
+	/**
+	 * Compare tag name including namespace
+	 * 
+	 * @param tag1
+	 * @param tag2
+	 * @return true if name and namespace are equal
+	 */
+	public static boolean hasEqualTagName(final ComponentTag tag1, final ComponentTag tag2)
+	{
+		if (!tag1.getName().equalsIgnoreCase(tag2.getName()))
+		{
+			return false;
+		}
+
+		if ((tag1.getNamespace() == null) && (tag2.getNamespace() == null))
+		{
+			return true;
+		}
+
+		if ((tag1.getNamespace() != null) && (tag2.getNamespace() != null))
+		{
+			return tag1.getNamespace().equalsIgnoreCase(tag2.getNamespace());
+		}
+
+		return false;
+	}
 }

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHeaderSectionHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHeaderSectionHandler.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHeaderSectionHandler.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHeaderSectionHandler.java Sun Mar 20 12:43:27 2011
@@ -21,6 +21,7 @@ import java.text.ParseException;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.Markup;
 import org.apache.wicket.markup.MarkupElement;
+import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 import org.apache.wicket.markup.parser.XmlTag.TagType;
 
 
@@ -34,7 +35,7 @@ import org.apache.wicket.markup.parser.X
  * @see org.apache.wicket.markup.MarkupParser
  * @author Juergen Donnerstag
  */
-public final class HtmlHeaderSectionHandler extends BaseMarkupFilter
+public final class HtmlHeaderSectionHandler extends AbstractMarkupFilter
 {
 	private static final String BODY = "body";
 	private static final String HEAD = "head";
@@ -63,7 +64,7 @@ public final class HtmlHeaderSectionHand
 	}
 
 	@Override
-	protected final MarkupElement nextTag(ComponentTag tag) throws ParseException
+	protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
 		// Whatever there is left in the markup, ignore it
 		if (ignoreTheRest == true)

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlProblemFinder.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlProblemFinder.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlProblemFinder.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlProblemFinder.java Sun Mar 20 12:43:27 2011
@@ -21,6 +21,7 @@ import java.text.ParseException;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.WicketParseException;
+import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -47,7 +48,7 @@ import org.slf4j.LoggerFactory;
  * 
  * @author Juergen Donnerstag
  */
-public final class HtmlProblemFinder extends BaseMarkupFilter
+public final class HtmlProblemFinder extends AbstractMarkupFilter
 {
 	/** Logging */
 	private static final Logger log = LoggerFactory.getLogger(HtmlProblemFinder.class);
@@ -79,7 +80,7 @@ public final class HtmlProblemFinder ext
 	}
 
 	@Override
-	protected final MarkupElement nextTag(ComponentTag tag) throws ParseException
+	protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
 		// Make sure some typical and may be tricky problems are detected and
 		// logged.

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpander.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpander.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpander.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpander.java Sun Mar 20 12:43:27 2011
@@ -22,6 +22,7 @@ import java.util.List;
 
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupElement;
+import org.apache.wicket.markup.RawMarkup;
 import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 import org.apache.wicket.markup.parser.XmlTag.TagType;
 
@@ -48,21 +49,30 @@ public class OpenCloseTagExpander extend
 
 	private ComponentTag next = null;
 
-	public MarkupElement nextTag() throws ParseException
+	@Override
+	public MarkupElement nextElement() throws ParseException
 	{
+		// Did we hold back an elem? Than return that first
 		if (next != null)
 		{
-			MarkupElement tmp = next;
+			MarkupElement rtn = next;
 			next = null;
-			return tmp;
+			return rtn;
 		}
 
-		ComponentTag tag = nextComponentTag();
-		if (tag == null)
+		// Find the next tag
+		MarkupElement elem;
+		do
 		{
-			return tag;
+			elem = getNextFilter().nextElement();
+			if (elem == null)
+			{
+				return null;
+			}
 		}
+		while (elem instanceof RawMarkup);
 
+		ComponentTag tag = (ComponentTag)elem;
 		if (tag.isOpenClose())
 		{
 			String name = tag.getName();
@@ -110,4 +120,13 @@ public class OpenCloseTagExpander extend
 	{
 		return replaceForTags.contains(name.toLowerCase());
 	}
+
+	/**
+	 * Noop
+	 */
+	@Override
+	protected MarkupElement onComponentTag(ComponentTag tag) throws ParseException
+	{
+		return tag;
+	}
 }

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java Sun Mar 20 12:43:27 2011
@@ -26,6 +26,7 @@ import org.apache.wicket.markup.MarkupEl
 import org.apache.wicket.markup.MarkupStream;
 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.cycle.RequestCycle;
 import org.apache.wicket.util.string.UrlUtils;
@@ -49,7 +50,9 @@ import org.slf4j.LoggerFactory;
  * 
  * @author Al Maw
  */
-public final class RelativePathPrefixHandler extends BaseMarkupFilter implements IComponentResolver
+public final class RelativePathPrefixHandler extends AbstractMarkupFilter
+	implements
+		IComponentResolver
 {
 	private static final long serialVersionUID = 1L;
 
@@ -93,7 +96,7 @@ public final class RelativePathPrefixHan
 	};
 
 	@Override
-	protected final MarkupElement nextTag(ComponentTag tag) throws ParseException
+	protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
 		if (tag.isClose())
 		{

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/RootMarkupFilter.java Sun Mar 20 12:43:27 2011
@@ -18,20 +18,22 @@ package org.apache.wicket.markup.parser.
 
 import java.text.ParseException;
 
-import org.apache.wicket.markup.Markup;
+import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupElement;
+import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 import org.apache.wicket.markup.parser.IMarkupFilter;
 import org.apache.wicket.markup.parser.IXmlPullParser;
 import org.apache.wicket.markup.parser.IXmlPullParser.ELEMENT_TYPE;
 
 
 /**
+ * This is the root of all filters, which retrieves the next xml element from the xml parser.
  * 
  * @author Juergen Donnerstag
  */
-public final class RootMarkupFilter implements IMarkupFilter
+public final class RootMarkupFilter extends AbstractMarkupFilter
 {
-	/**  */
+	/** The xml parser */
 	private final IXmlPullParser parser;
 
 	/**
@@ -44,10 +46,14 @@ public final class RootMarkupFilter impl
 		this.parser = parser;
 	}
 
-	public final MarkupElement nextTag() throws ParseException
+	/**
+	 * Skip all xml elements until the next tag.
+	 */
+	@Override
+	public final MarkupElement nextElement() throws ParseException
 	{
 		ELEMENT_TYPE type;
-		while ((type = next()) != ELEMENT_TYPE.TAG)
+		while ((type = parser.next()) != ELEMENT_TYPE.TAG)
 		{
 			if (type == ELEMENT_TYPE.NOT_INITIALIZED)
 			{
@@ -55,30 +61,33 @@ public final class RootMarkupFilter impl
 			}
 		}
 
-		return parser.getElement();
+		return new ComponentTag(parser.getElement());
 	}
 
-	public IMarkupFilter getNextFilter()
+	/**
+	 * @return null. This is the root filter.
+	 */
+	@Override
+	public final IMarkupFilter getNextFilter()
 	{
 		return null;
 	}
 
-	public void setNextFilter(final IMarkupFilter parent)
+	/**
+	 * This is the root filter. Operation not allowed. An exception will be thrown.
+	 */
+	@Override
+	public final void setNextFilter(final IMarkupFilter parent)
 	{
 		throw new IllegalArgumentException("You can not set the parent with RootMarkupFilter.");
 	}
 
 	/**
-	 * 
-	 * @return The next XML element
-	 * @throws ParseException
+	 * Noop
 	 */
-	private ELEMENT_TYPE next() throws ParseException
-	{
-		return parser.next();
-	}
-
-	public void postProcess(Markup markup)
+	@Override
+	protected MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
+		return tag;
 	}
 }

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java Sun Mar 20 12:43:27 2011
@@ -22,6 +22,7 @@ import org.apache.wicket.markup.Componen
 import org.apache.wicket.markup.Markup;
 import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.RawMarkup;
+import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 import org.apache.wicket.markup.parser.XmlPullParser;
 
 
@@ -29,7 +30,7 @@ import org.apache.wicket.markup.parser.X
  * 
  * @author Juergen Donnerstag
  */
-public final class StyleAndScriptIdentifier extends BaseMarkupFilter
+public final class StyleAndScriptIdentifier extends AbstractMarkupFilter
 {
 	private boolean found;
 
@@ -46,7 +47,7 @@ public final class StyleAndScriptIdentif
 	}
 
 	@Override
-	protected final MarkupElement nextTag(final ComponentTag tag) throws ParseException
+	protected final MarkupElement onComponentTag(final ComponentTag tag) throws ParseException
 	{
 		if (tag.getNamespace() != null)
 		{
@@ -63,7 +64,6 @@ public final class StyleAndScriptIdentif
 				tag.setModified(true);
 			}
 
-			tag.setFlag(ComponentTag.ADD, true);
 			tag.setFlag(ComponentTag.RENDER_RAW, true);
 			tag.setUserData("STYLE_OR_SCRIPT", Boolean.TRUE);
 		}

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java Sun Mar 20 12:43:27 2011
@@ -27,6 +27,7 @@ import org.apache.wicket.markup.MarkupEl
 import org.apache.wicket.markup.MarkupStream;
 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.util.collections.ArrayListStack;
 import org.apache.wicket.util.string.StringValueConversionException;
@@ -48,7 +49,7 @@ import org.apache.wicket.util.value.IVal
  * 
  * @author Juergen Donnerstag
  */
-public class WicketLinkTagHandler extends BaseMarkupFilter implements IComponentResolver
+public class WicketLinkTagHandler extends AbstractMarkupFilter implements IComponentResolver
 {
 	private static final long serialVersionUID = 1L;
 
@@ -90,7 +91,7 @@ public class WicketLinkTagHandler extend
 	}
 
 	@Override
-	protected final MarkupElement nextTag(ComponentTag tag) throws ParseException
+	protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
 		// Only xml tags not already identified as Wicket components will be
 		// considered for autolinking. This is because it is assumed that Wicket

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java Sun Mar 20 12:43:27 2011
@@ -27,6 +27,7 @@ import org.apache.wicket.markup.MarkupEl
 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.parser.AbstractMarkupFilter;
 import org.apache.wicket.markup.resolver.IComponentResolver;
 import org.apache.wicket.util.string.Strings;
 
@@ -42,7 +43,9 @@ import org.apache.wicket.util.string.Str
  * @author Juergen Donnerstag
  * @author Igor Vaynberg
  */
-public final class WicketMessageTagHandler extends BaseMarkupFilter implements IComponentResolver
+public final class WicketMessageTagHandler extends AbstractMarkupFilter
+	implements
+		IComponentResolver
 {
 	/** */
 	private static final long serialVersionUID = 1L;
@@ -66,7 +69,7 @@ public final class WicketMessageTagHandl
 	}
 
 	@Override
-	protected final MarkupElement nextTag(ComponentTag tag) throws ParseException
+	protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
 		if (tag.isClose())
 		{

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketNamespaceHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketNamespaceHandler.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketNamespaceHandler.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketNamespaceHandler.java Sun Mar 20 12:43:27 2011
@@ -23,6 +23,7 @@ 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.parser.AbstractMarkupFilter;
 import org.apache.wicket.util.value.IValueMap;
 
 
@@ -34,7 +35,7 @@ import org.apache.wicket.util.value.IVal
  * @see org.apache.wicket.markup.MarkupParser
  * @author Juergen Donnerstag
  */
-public final class WicketNamespaceHandler extends BaseMarkupFilter
+public final class WicketNamespaceHandler extends AbstractMarkupFilter
 {
 	/** Wicket URI */
 	private static final String WICKET_URI = "http://wicket.apache.org";
@@ -59,7 +60,7 @@ public final class WicketNamespaceHandle
 	}
 
 	@Override
-	protected final MarkupElement nextTag(ComponentTag tag) throws ParseException
+	protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
 		if (tag.isOpen() && "html".equals(tag.getName().toLowerCase()))
 		{

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java Sun Mar 20 12:43:27 2011
@@ -22,6 +22,7 @@ import org.apache.wicket.markup.Componen
 import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.WicketParseException;
 import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 
 
 /**
@@ -31,7 +32,7 @@ import org.apache.wicket.markup.WicketTa
  * 
  * @author Juergen Donnerstag
  */
-public final class WicketRemoveTagHandler extends BaseMarkupFilter
+public final class WicketRemoveTagHandler extends AbstractMarkupFilter
 {
 	/** */
 	public static final String REMOVE = "remove";
@@ -50,7 +51,7 @@ public final class WicketRemoveTagHandle
 	}
 
 	@Override
-	protected final MarkupElement nextTag(ComponentTag tag) throws ParseException
+	protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
 		// If it is not a remove tag, than we are finished
 		if (!(tag instanceof WicketTag) || !((WicketTag)tag).isRemoveTag())
@@ -66,7 +67,7 @@ public final class WicketRemoveTagHandle
 
 		// Find the corresponding close tag and remove all tags in between
 		ComponentTag closeTag;
-		while (null != (closeTag = (ComponentTag)getNextFilter().nextTag()))
+		while (null != (closeTag = (ComponentTag)getNextFilter().nextElement()))
 		{
 			// No Wicket component tags are allowed within the preview region.
 			// Wicket components will a component name assigned.

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java Sun Mar 20 12:43:27 2011
@@ -26,7 +26,6 @@ import org.apache.wicket.markup.MarkupRe
 import org.apache.wicket.markup.WicketParseException;
 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;
 
 
@@ -68,30 +67,22 @@ public final class WicketTagIdentifier e
 	 * or ComponentWicketTags. Both are subclasses of MarkupElement as well and both maintain a
 	 * reference to the XmlTag. But no XmlTag is returned.
 	 * 
-	 * @see org.apache.wicket.markup.parser.IMarkupFilter#nextTag()
+	 * @see org.apache.wicket.markup.parser.IMarkupFilter#nextElement()
 	 * @return The next tag from markup to be processed. If null, no more tags are available
 	 */
-	public MarkupElement nextTag() throws ParseException
+	@Override
+	protected MarkupElement onComponentTag(ComponentTag tag) throws ParseException
 	{
-		// Get the next tag from the markup.
-		// If null, no more tags are available
-		XmlTag xmlTag = (XmlTag)getNextFilter().nextTag();
-		if (xmlTag == null)
-		{
-			return xmlTag;
-		}
-
 		final String namespace = markup.getWicketNamespace();
 
 		// If the form <tag wicket:id = "value"> is used
-		final String wicketIdValue = xmlTag.getAttributes().getString(namespace + ":id");
+		final String wicketIdValue = tag.getAttributes().getString(namespace + ":id");
 
 		// Identify tags with Wicket namespace
-		ComponentTag tag;
-		if (namespace.equalsIgnoreCase(xmlTag.getNamespace()))
+		if (namespace.equalsIgnoreCase(tag.getNamespace()))
 		{
 			// It is <wicket:...>
-			tag = new WicketTag(xmlTag);
+			tag = new WicketTag(tag.getXmlTag());
 
 			if (Strings.isEmpty(wicketIdValue))
 			{
@@ -102,19 +93,14 @@ public final class WicketTagIdentifier e
 			}
 
 			// If the tag is not a well-known wicket namespace tag
-			if (!isWellKnown(xmlTag))
+			if (!isWellKnown(tag))
 			{
 				// give up
 				throw new WicketParseException("Unknown tag name with Wicket namespace: '" +
-					xmlTag.getName() +
-					"'. Might be you haven't installed the appropriate resolver?", tag);
+					tag.getName() + "'. Might be you haven't installed the appropriate resolver?",
+					tag);
 			}
 		}
-		else
-		{
-			// Everything else, except tags with Wicket namespace
-			tag = new ComponentTag(xmlTag);
-		}
 
 		if (wicketIdValue != null)
 		{
@@ -151,14 +137,14 @@ public final class WicketTagIdentifier e
 
 	/**
 	 * 
-	 * @param xmlTag
+	 * @param tag
 	 * @return true, if name is known
 	 */
-	private boolean isWellKnown(final XmlTag xmlTag)
+	private boolean isWellKnown(final ComponentTag tag)
 	{
 		for (String name : wellKnownTagNames)
 		{
-			if (xmlTag.getName().equalsIgnoreCase(name))
+			if (tag.getName().equalsIgnoreCase(name))
 			{
 				return true;
 			}

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java Sun Mar 20 12:43:27 2011
@@ -21,7 +21,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.parser.XmlPullParser;
 import org.apache.wicket.markup.parser.XmlTag;
 import org.apache.wicket.util.string.Strings;
@@ -261,7 +260,7 @@ public class TagTester
 					p.parse(markup);
 
 					XmlTag tag = null;
-					while ((tag = (XmlTag)p.nextTag()) != null)
+					while ((tag = p.nextTag()) != null)
 					{
 						if (tagName.equalsIgnoreCase(tag.getName()))
 						{
@@ -366,7 +365,7 @@ public class TagTester
 				XmlPullParser parser = new XmlPullParser();
 				parser.parse(markup);
 
-				MarkupElement elm = null;
+				XmlTag elm = null;
 				XmlTag openTag = null;
 				XmlTag closeTag = null;
 				int level = 0;
@@ -374,7 +373,7 @@ public class TagTester
 				{
 					if (elm instanceof XmlTag)
 					{
-						XmlTag xmlTag = (XmlTag)elm;
+						XmlTag xmlTag = elm;
 
 						if (openTag == null)
 						{
@@ -495,7 +494,7 @@ public class TagTester
 				XmlPullParser parser = new XmlPullParser();
 				parser.parse(markup);
 
-				MarkupElement elm = null;
+				XmlTag elm = null;
 				XmlTag openTag = null;
 				XmlTag closeTag = null;
 				int level = 0;
@@ -503,7 +502,7 @@ public class TagTester
 				{
 					if (elm instanceof XmlTag)
 					{
-						XmlTag xmlTag = (XmlTag)elm;
+						XmlTag xmlTag = elm;
 						if (openTag == null)
 						{
 							IValueMap attributeMap = xmlTag.getAttributes();

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/PanelTest.java Sun Mar 20 12:43:27 2011
@@ -59,7 +59,7 @@ public class PanelTest extends WicketTes
 			hit = true;
 
 			assertNotNull(mex.getMarkupStream());
-			assertTrue(mex.getMessage().contains("does not have a close tag"));
+			assertTrue(mex.getMessage().contains("Expected close tag for "));
 			assertTrue(mex.getMessage().contains("SimplePanel_1.html"));
 		}
 		assertTrue("Did expect a MarkupException", hit);

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/XmlPullParserTest.java Sun Mar 20 12:43:27 2011
@@ -21,7 +21,6 @@ import java.text.ParseException;
 
 import junit.framework.TestCase;
 
-import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.markup.parser.IXmlPullParser.ELEMENT_TYPE;
 import org.apache.wicket.util.resource.StringResourceStream;
 
@@ -40,11 +39,11 @@ public class XmlPullParserTest extends T
 	{
 		final XmlPullParser parser = new XmlPullParser();
 		parser.parse("This is a text");
-		MarkupElement elem = parser.nextTag();
+		XmlTag elem = parser.nextTag();
 		assertNull(elem);
 
 		parser.parse("<tag/>");
-		XmlTag tag = (XmlTag)parser.nextTag();
+		XmlTag tag = parser.nextTag();
 		assertFalse(tag.isOpen());
 		// assertFalse(tag.isOpen("tag"));
 		// assertFalse(tag.isOpen("xxx"));
@@ -57,7 +56,7 @@ public class XmlPullParserTest extends T
 
 		// extra spaces
 		parser.parse("<tag ></tag >");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertTrue(tag.isOpen());
 		// assertTrue(tag.isOpen("tag"));
 		// assertFalse(tag.isOpen("xxx"));
@@ -68,7 +67,7 @@ public class XmlPullParserTest extends T
 		assertNull(tag.getNamespace());
 		assertEquals(0, tag.getAttributes().size());
 
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertFalse(tag.isOpen());
 		// assertFalse(tag.isOpen("tag"));
 		// assertFalse(tag.isOpen("xxx"));
@@ -80,44 +79,44 @@ public class XmlPullParserTest extends T
 		assertEquals(0, tag.getAttributes().size());
 
 		parser.parse("<tag>  </tag>");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		// assertTrue(tag.isOpen("tag"));
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertTrue(tag.isClose());
 
 		parser.parse("xx <tag> yy </tag> zz");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		// assertTrue(tag.isOpen("tag"));
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertTrue(tag.isClose());
 
 		// XmlPullParser does NOT check that tags get properly closed
 		parser.parse("<tag>");
-		tag = (XmlTag)parser.nextTag();
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
+		tag = parser.nextTag();
 		assertNull(elem);
 
 		parser.parse("<tag> <tag> <tag>");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		// assertTrue(tag.isOpen("tag"));
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 // assertTrue(tag.isOpen("tag"));
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 // assertTrue(tag.isOpen("tag"));
 
 		parser.parse("<ns:tag/>");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 // assertTrue(tag.isOpenClose("tag"));
 		assertEquals("ns", tag.getNamespace());
 		assertEquals("tag", tag.getName());
 
 		parser.parse("<ns:tag></ns:tag>");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 // assertTrue(tag.isOpen("tag"));
 		assertEquals("ns", tag.getNamespace());
 		assertEquals("tag", tag.getName());
 
-		XmlTag closeTag = (XmlTag)parser.nextTag();
+		XmlTag closeTag = parser.nextTag();
 		assertTrue(closeTag.isClose());
 		assertEquals("ns", closeTag.getNamespace());
 		assertEquals("tag", closeTag.getName());
@@ -134,20 +133,20 @@ public class XmlPullParserTest extends T
 			new StringResourceStream("<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>").getInputStream(),
 			null);
 		assertEquals("iso-8859-1", parser.getEncoding());
-		XmlTag tag = (XmlTag)parser.nextTag();
+		XmlTag tag = parser.nextTag();
 		assertNull(tag);
 
 		parser.parse(new StringResourceStream(
 			"<?xml version=\"1.0\" encoding='iso-8859-1' ?> test test").getInputStream(), null);
 		assertEquals("iso-8859-1", parser.getEncoding());
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertNull(tag);
 
 		// re-order and move close (remove whitespaces
 		parser.parse(new StringResourceStream(
 			"   <?xml encoding='iso-8859-1'version=\"1.0\"?> test test").getInputStream(), null);
 		assertEquals("iso-8859-1", parser.getEncoding());
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertNull(tag);
 
 		// attribute value must be enclosed by ""
@@ -173,7 +172,7 @@ public class XmlPullParserTest extends T
 		parser.parse(
 			new StringResourceStream("xxxx <?xml encoding='iso-8859-1' ?>").getInputStream(), null);
 		assertNull(parser.getEncoding());
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertNull(tag);
 
 		// no extra characters allowed before <?xml>
@@ -182,13 +181,13 @@ public class XmlPullParserTest extends T
 			new StringResourceStream("<!-- Comment --> <?xml encoding='iso-8859-1' ?>").getInputStream(),
 			null);
 		assertNull(parser.getEncoding());
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertNull(tag);
 
 		// 'test' is not a valid attribut. But we currently don't test it.
 		parser.parse(new StringResourceStream("<?xml test='123' >").getInputStream(), null);
 		assertNull(parser.getEncoding());
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertNull(tag);
 	}
 
@@ -200,44 +199,44 @@ public class XmlPullParserTest extends T
 	{
 		final XmlPullParser parser = new XmlPullParser();
 		parser.parse("<tag>");
-		XmlTag tag = (XmlTag)parser.nextTag();
+		XmlTag tag = parser.nextTag();
 		assertEquals(0, tag.getAttributes().size());
 		// assertTrue(tag.isOpen("tag"));
 		assertFalse(tag.getAttributes().containsKey("attr"));
 		assertNull(tag.getAttributes().getString("attr"));
 
 		parser.parse("<tag attr='1234'>");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertEquals(1, tag.getAttributes().size());
 		assertTrue(tag.getAttributes().containsKey("attr"));
 		assertEquals("1234", tag.getAttributes().getString("attr"));
 
 		parser.parse("<tag attr=1234>");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertEquals(1, tag.getAttributes().size());
 		assertTrue(tag.getAttributes().containsKey("attr"));
 		assertEquals("1234", tag.getAttributes().getString("attr"));
 
 		parser.parse("<tag attr=1234 >");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertEquals(1, tag.getAttributes().size());
 		assertTrue(tag.getAttributes().containsKey("attr"));
 		assertEquals("1234", tag.getAttributes().getString("attr"));
 
 		parser.parse("<tag attr-withHypen=1234 >");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertEquals(1, tag.getAttributes().size());
 		assertTrue(tag.getAttributes().containsKey("attr-withHypen"));
 		assertEquals("1234", tag.getAttributes().getString("attr-withHypen"));
 
 		parser.parse("<tag attr=\"1234\">");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertEquals(1, tag.getAttributes().size());
 		assertTrue(tag.getAttributes().containsKey("attr"));
 		assertEquals("1234", tag.getAttributes().getString("attr"));
 
 		parser.parse("<tag attr='1234' test='23'>");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertEquals(2, tag.getAttributes().size());
 		assertTrue(tag.getAttributes().containsKey("attr"));
 		assertEquals("1234", tag.getAttributes().getString("attr"));
@@ -248,7 +247,7 @@ public class XmlPullParserTest extends T
 		Exception ex = null;
 		try
 		{
-			tag = (XmlTag)parser.nextTag();
+			tag = parser.nextTag();
 		}
 		catch (ParseException e)
 		{
@@ -265,24 +264,24 @@ public class XmlPullParserTest extends T
 	{
 		final XmlPullParser parser = new XmlPullParser();
 		parser.parse("<!-- test --><tag>");
-		XmlTag tag = (XmlTag)parser.nextTag();
+		XmlTag tag = parser.nextTag();
 // assertTrue(tag.isOpen("tag"));
 
 		parser.parse("<!-- test --><tag> aaa <!-- test 1 --> bbb <tag> <!-- test --> </tag>");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 // assertTrue(tag.isOpen("tag"));
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 // assertTrue(tag.isOpen("tag"));
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertTrue(tag.isClose());
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 		assertNull(tag);
 
 		// As you can see, XmlPullParser is really a shallow parser only
 		parser.parse("<!-- test --><tag> aaa <?tag test 1 ?> bbb <tag> <!DOCTYPE test > </tag>");
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 // assertTrue(tag.isOpen("tag"));
-		tag = (XmlTag)parser.nextTag();
+		tag = parser.nextTag();
 // assertTrue(tag.isOpen("tag"));
 		tag = (XmlTag)parser.nextTag();
 		assertTrue(tag.isClose());

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpanderTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpanderTest.java?rev=1083424&r1=1083423&r2=1083424&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpanderTest.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpanderTest.java Sun Mar 20 12:43:27 2011
@@ -23,7 +23,6 @@ import org.apache.wicket.WicketTestCase;
  */
 public class OpenCloseTagExpanderTest extends WicketTestCase
 {
-
 	/**
 	 * @throws Exception
 	 */
@@ -32,5 +31,4 @@ public class OpenCloseTagExpanderTest ex
 		executeTest(OpenCloseTagExpanderPage_1.class,
 			"OpenCloseTagExpanderPageExpectedResult_1.html");
 	}
-
 }