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)


Reply via email to