You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2011/03/22 23:59:48 UTC

svn commit: r1084399 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java

Author: pete
Date: Tue Mar 22 22:59:48 2011
New Revision: 1084399

URL: http://svn.apache.org/viewvc?rev=1084399&view=rev
Log:
fixed bug that sneaked in after jürgen's last refactor ... markupFilter.nextElement() was assumed to return a tag when instead it could as well just be a MarkupElement which gave us a ClassCastException in WicketRemoveTagHandler ... added additional checking

Modified:
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java

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=1084399&r1=1084398&r2=1084399&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 Tue Mar 22 22:59:48 2011
@@ -65,10 +65,19 @@ public final class WicketRemoveTagHandle
 			throw new WicketParseException("Wicket remove tag must not be an open-close tag:", tag);
 		}
 
-		// Find the corresponding close tag and remove all tags in between
-		ComponentTag closeTag;
-		while (null != (closeTag = (ComponentTag)getNextFilter().nextElement()))
+		// fetch markup elements
+		MarkupElement markupElement;
+		while ((markupElement = getNextFilter().nextElement()) != null)
 		{
+			// skip non-component tags
+			if((markupElement instanceof ComponentTag) == false)
+			{
+				continue;
+			}
+
+			// find the corresponding close tag for the given tag
+			ComponentTag closeTag = (ComponentTag)markupElement;
+
 			// No Wicket component tags are allowed within the preview region.
 			// Wicket components will a component name assigned.
 			if (closeTag.getId() == null)