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)