Author: jdonnerstag
Date: Sat Apr 11 07:38:05 2009
New Revision: 764183
URL: http://svn.apache.org/viewvc?rev=764183&view=rev
Log:
The IMarkupFilters TagTypeHandler and OpenCloseTagExpander are one and the same
except that they are expanding different tags. I migrated TagTypeHandler over
to OpenCloseTagExpander and removed it.
Removed:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TagTypeHandler.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/Markup.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupParser.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceData.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpander.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/Markup.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/Markup.java?rev=764183&r1=764182&r2=764183&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/Markup.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/Markup.java Sat
Apr 11 07:38:05 2009
@@ -97,12 +97,12 @@
{
return markupResourceData;
}
-
+
/**
- * Allowing the markup to return its own location allows special types
of Markup
- * (i.e. MergedMarkup) to override their location, as they are composed
of multiple
- * Markups in different locations.
- * SEE WICKET-1507 (Jeremy Thomerson)
+ * Allowing the markup to return its own location allows special types
of Markup (i.e.
+ * MergedMarkup) to override their location, as they are composed of
multiple Markups in
+ * different locations. SEE WICKET-1507 (Jeremy Thomerson)
+ *
* @return the location of this markup
*/
public String locationAsString()
@@ -110,7 +110,6 @@
return markupResourceData.getResource().locationAsString();
}
-
/**
* For Wicket it would be sufficient for this method to be package
protected. However to allow
* wicket-bench easy access to the information ...
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupParser.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupParser.java?rev=764183&r1=764182&r2=764183&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupParser.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupParser.java
Sat Apr 11 07:38:05 2009
@@ -33,7 +33,6 @@
import org.apache.wicket.markup.parser.filter.HtmlHeaderSectionHandler;
import org.apache.wicket.markup.parser.filter.OpenCloseTagExpander;
import org.apache.wicket.markup.parser.filter.RelativePathPrefixHandler;
-import org.apache.wicket.markup.parser.filter.TagTypeHandler;
import org.apache.wicket.markup.parser.filter.WicketLinkTagHandler;
import org.apache.wicket.markup.parser.filter.WicketMessageTagHandler;
import org.apache.wicket.markup.parser.filter.WicketNamespaceHandler;
@@ -159,7 +158,6 @@
MarkupResourceData markupResourceData =
markup.getMarkupResourceData();
appendMarkupFilter(new WicketTagIdentifier(markupResourceData));
- appendMarkupFilter(new TagTypeHandler());
appendMarkupFilter(new HtmlHandler());
appendMarkupFilter(new WicketRemoveTagHandler());
appendMarkupFilter(new WicketLinkTagHandler());
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceData.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceData.java?rev=764183&r1=764182&r2=764183&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceData.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceData.java
Sat Apr 11 07:38:05 2009
@@ -29,6 +29,9 @@
*
* @author Jonathan Locke
* @author Juergen Donnerstag
+ *
+ * @TODO 1.5 It is confusing to have MarkupResourceStream and
MarkupResourceData. MRA should be
+ * moved into MRS
*/
public class MarkupResourceData
{
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java?rev=764183&r1=764182&r2=764183&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java
Sat Apr 11 07:38:05 2009
@@ -79,7 +79,7 @@
* @param markupClass
*/
public MarkupResourceStream(final IResourceStream resourceStream,
- final ContainerInfo containerInfo, final Class< ? > markupClass)
+ final ContainerInfo containerInfo, final Class<?> markupClass)
{
this.resourceStream = resourceStream;
this.containerInfo = containerInfo;
@@ -91,6 +91,9 @@
}
}
+ /**
+ * @see
org.apache.wicket.util.resource.IFixedLocationResourceStream#locationAsString()
+ */
public String locationAsString()
{
if (resourceStream instanceof IFixedLocationResourceStream)
@@ -169,7 +172,7 @@
*
* @return The directly associated class
*/
- public Class< ? extends Component> getMarkupClass()
+ public Class<? extends Component> getMarkupClass()
{
return Classes.resolveClass(markupClassName);
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpander.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpander.java?rev=764183&r1=764182&r2=764183&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpander.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/OpenCloseTagExpander.java
Sat Apr 11 07:38:05 2009
@@ -30,12 +30,15 @@
* it gets text/xml mime type, treats these open-close tags as open tags which
results in corrupted
* DOM. This happens even with xhtml doctype.
*
+ * In addition, some tags are required open-body-close for Wicket to work
properly.
+ *
+ * @author Juergen Donnerstag
* @author Matej Knopp
*/
public class OpenCloseTagExpander extends AbstractMarkupFilter
{
private static final List<String> replaceForTags = Arrays.asList(new
String[] { "div", "span",
- "p", "strong", "b", "e" });
+ "p", "strong", "b", "e", "select" });
private ComponentTag next = null;
@@ -51,26 +54,30 @@
next = null;
return tmp;
}
- else
+
+ ComponentTag tag = nextComponentTag();
+ if (tag == null)
+ {
+ return tag;
+ }
+
+ if (tag.isOpenClose())
{
- ComponentTag tag = nextComponentTag();
+ String name = tag.getName();
+ if (tag.getNamespace() != null)
+ {
+ name = tag.getNamespace() + ":" + tag.getName();
+ }
- if (tag != null && tag.isOpenClose() &&
-
replaceForTags.contains(tag.getName().toLowerCase()))
+ if (replaceForTags.contains(name.toLowerCase()))
{
tag.setType(XmlTag.OPEN);
- if (tag.getId() == null)
- {
-
tag.setId(WicketMessageTagHandler.WICKET_MESSAGE_CONTAINER_ID);
- tag.setAutoComponentTag(true);
- }
-
next = new ComponentTag(tag.getName(),
XmlTag.CLOSE);
next.setNamespace(tag.getNamespace());
next.setOpenTag(tag);
}
- return tag;
}
+ return tag;
}
}