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 2010/01/02 20:55:28 UTC
svn commit: r895276 - in /wicket/trunk/wicket/src:
main/java/org/apache/wicket/ main/java/org/apache/wicket/markup/
main/java/org/apache/wicket/markup/html/
main/java/org/apache/wicket/markup/html/border/
main/java/org/apache/wicket/markup/html/form/ m...
Author: jdonnerstag
Date: Sat Jan 2 19:55:19 2010
New Revision: 895276
URL: http://svn.apache.org/viewvc?rev=895276&view=rev
Log:
wip on onMarkupAttached()
Added:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
- copied, changed from r894697, wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TransparentWebMarkupContainer.java
Removed:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/OpenTagIterator.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TransparentWebMarkupContainer.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/WicketTag.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ContainerWithAssociatedMarkupHelper.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/HeaderPartContainer.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoComponentResolver.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/FragmentResolver.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketContainerResolver.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Sat Jan 2 19:55:19 2010
@@ -863,11 +863,12 @@
/**
* Set the markup for the component. Note that the component's markup variable is transient and
- * thus must only be used for one render cycle. E.g. auto-component are using it.
+ * thus must only be used for one render cycle. E.g. auto-component are using it. You may also
+ * it if you subclassed getMarkup().
*
* @param markup
*/
- final void setMarkup(final IMarkupFragment markup)
+ public final void setMarkup(final IMarkupFragment markup)
{
this.markup = markup;
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/WicketTag.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/WicketTag.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/WicketTag.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/WicketTag.java Sat Jan 2 19:55:19 2010
@@ -16,7 +16,18 @@
*/
package org.apache.wicket.markup;
+import org.apache.wicket.markup.html.border.Border;
+import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.parser.XmlTag;
+import org.apache.wicket.markup.parser.filter.EnclosureHandler;
+import org.apache.wicket.markup.parser.filter.WicketLinkTagHandler;
+import org.apache.wicket.markup.parser.filter.WicketRemoveTagHandler;
+import org.apache.wicket.markup.resolver.AutoComponentResolver;
+import org.apache.wicket.markup.resolver.FragmentResolver;
+import org.apache.wicket.markup.resolver.HtmlHeaderResolver;
+import org.apache.wicket.markup.resolver.MarkupInheritanceResolver;
+import org.apache.wicket.markup.resolver.WicketContainerResolver;
+import org.apache.wicket.markup.resolver.WicketMessageResolver;
/**
* WicketTag extends ComponentTag and will be created by a MarkupParser whenever it parses a tag in
@@ -71,7 +82,7 @@
*/
public final boolean isComponentTag()
{
- return "component".equalsIgnoreCase(getName());
+ return AutoComponentResolver.COMPONENT.equalsIgnoreCase(getName());
}
/**
@@ -79,7 +90,7 @@
*/
public final boolean isContainerTag()
{
- return "container".equalsIgnoreCase(getName());
+ return WicketContainerResolver.CONTAINER.equalsIgnoreCase(getName());
}
/**
@@ -87,7 +98,7 @@
*/
public final boolean isLinkTag()
{
- return "link".equalsIgnoreCase(getName());
+ return WicketLinkTagHandler.LINK.equalsIgnoreCase(getName());
}
/**
@@ -95,7 +106,7 @@
*/
public final boolean isRemoveTag()
{
- return "remove".equalsIgnoreCase(getName());
+ return WicketRemoveTagHandler.REMOVE.equalsIgnoreCase(getName());
}
/**
@@ -103,7 +114,7 @@
*/
public final boolean isBodyTag()
{
- return "body".equalsIgnoreCase(getName());
+ return Border.BODY.equalsIgnoreCase(getName());
}
/**
@@ -111,7 +122,7 @@
*/
public final boolean isChildTag()
{
- return "child".equalsIgnoreCase(getName());
+ return MarkupInheritanceResolver.CHILD.equalsIgnoreCase(getName());
}
/**
@@ -119,7 +130,7 @@
*/
public final boolean isExtendTag()
{
- return "extend".equalsIgnoreCase(getName());
+ return MarkupInheritanceResolver.EXTEND.equalsIgnoreCase(getName());
}
/**
@@ -127,7 +138,7 @@
*/
public final boolean isHeadTag()
{
- return "head".equalsIgnoreCase(getName());
+ return HtmlHeaderResolver.HEAD.equalsIgnoreCase(getName());
}
/**
@@ -135,7 +146,7 @@
*/
public final boolean isMessageTag()
{
- return "message".equalsIgnoreCase(getName());
+ return WicketMessageResolver.MESSAGE.equalsIgnoreCase(getName());
}
/**
@@ -143,7 +154,7 @@
*/
public final boolean isPanelTag()
{
- return "panel".equalsIgnoreCase(getName());
+ return Panel.PANEL.equalsIgnoreCase(getName());
}
/**
@@ -151,7 +162,7 @@
*/
public final boolean isBorderTag()
{
- return "border".equalsIgnoreCase(getName());
+ return Border.BORDER.equalsIgnoreCase(getName());
}
/**
@@ -159,7 +170,7 @@
*/
public final boolean isFragementTag()
{
- return "fragment".equalsIgnoreCase(getName());
+ return FragmentResolver.FRAGMENT.equalsIgnoreCase(getName());
}
/**
@@ -167,7 +178,7 @@
*/
public final boolean isEnclosureTag()
{
- return "enclosure".equalsIgnoreCase(getName());
+ return EnclosureHandler.ENCLOSURE.equalsIgnoreCase(getName());
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ContainerWithAssociatedMarkupHelper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ContainerWithAssociatedMarkupHelper.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ContainerWithAssociatedMarkupHelper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ContainerWithAssociatedMarkupHelper.java Sat Jan 2 19:55:19 2010
@@ -155,9 +155,9 @@
// Create the header container and associate the markup with it
String scope = wTag.getAttributes().getString(
markupStream.getWicketNamespace() + ":scope");
- final HeaderPartContainer headerContainer = ((IHeaderPartContainerProvider)container).newHeaderPartContainer(
+ HeaderPartContainer headerContainer = ((IHeaderPartContainerProvider)container).newHeaderPartContainer(
headerId, scope);
- headerContainer.setMyMarkupStream(markupStream);
+ headerContainer.setMarkup(markupStream.getMarkupFragment());
headerContainer.setRenderBodyOnly(true);
// The container does have a header component
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/HeaderPartContainer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/HeaderPartContainer.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/HeaderPartContainer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/HeaderPartContainer.java Sat Jan 2 19:55:19 2010
@@ -19,7 +19,6 @@
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.IMarkupFragment;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.resolver.IComponentResolver;
@@ -73,23 +72,4 @@
// The tag must be resolved against the panel and not against the page
return this.container.get(tag.getId());
}
-
- /**
- * @see #setMarkupStream(MarkupStream)
- *
- * @param markupStream
- */
- public final void setMyMarkupStream(final MarkupStream markupStream)
- {
- super.setMarkupStream(markupStream);
- }
-
- /**
- * @see org.apache.wicket.Component#getMarkup()
- */
- @Override
- public IMarkupFragment getMarkup()
- {
- return getMarkupStream().getMarkupFragment();
- }
}
\ No newline at end of file
Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java (from r894697, wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TransparentWebMarkupContainer.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TransparentWebMarkupContainer.java&r1=894697&r2=895276&rev=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/TransparentWebMarkupContainer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java Sat Jan 2 19:55:19 2010
@@ -14,13 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.wicket.markup.parser.filter;
+package org.apache.wicket.markup.html;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.MarkupStream;
-import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.resolver.IComponentResolver;
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java Sat Jan 2 19:55:19 2010
@@ -19,7 +19,9 @@
import org.apache.wicket.Component;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.IMarkupFragment;
-import org.apache.wicket.markup.OpenTagIterator;
+import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.TagUtils;
+import org.apache.wicket.markup.WicketTag;
import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
import org.apache.wicket.model.IModel;
@@ -95,21 +97,31 @@
final Component child)
{
IMarkupFragment childMarkup = null;
- OpenTagIterator iter = new OpenTagIterator(markup);
- while (iter.hasNext() && (childMarkup == null))
+ MarkupStream stream = new MarkupStream(markup);
+ while (stream.skipUntil(ComponentTag.class) && (childMarkup == null))
{
- ComponentTag tag = iter.next();
- if ((child != null) && "_header_".equals(tag.getId()))
+ ComponentTag tag = stream.getTag();
+ if (tag instanceof WicketTag)
{
- childMarkup = iter.getMarkupFragment().find(child.getId());
- }
- else if ((child != null) && "_head".equals(tag.getId()))
- {
- if (tag.getMarkupClass() == null)
+ WicketTag wtag = (WicketTag)tag;
+ if (wtag.isHeadTag())
{
- childMarkup = iter.getMarkupFragment().find(child.getId());
+ if (tag.getMarkupClass() == null)
+ {
+ childMarkup = stream.getMarkupFragment().find(child.getId());
+ }
}
}
+ else if (TagUtils.isHeadTag(tag))
+ {
+ childMarkup = stream.getMarkupFragment().find(child.getId());
+ }
+
+ if (tag.isOpen() && !tag.hasNoCloseTag())
+ {
+ stream.skipToMatchingCloseTag(tag);
+ }
+ stream.next();
}
return childMarkup;
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java Sat Jan 2 19:55:19 2010
@@ -27,14 +27,14 @@
import org.apache.wicket.markup.MarkupFragment;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.WicketTag;
-import org.apache.wicket.markup.html.WebComponent;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
import org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup;
import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
import org.apache.wicket.markup.parser.XmlTag;
-import org.apache.wicket.markup.parser.filter.TransparentWebMarkupContainer;
import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
import org.apache.wicket.markup.resolver.IComponentResolver;
import org.apache.wicket.model.IModel;
+import org.apache.wicket.util.lang.Checks;
/**
* A border component has associated markup which is drawn and determines placement of markup and/or
@@ -135,8 +135,11 @@
{
private static final long serialVersionUID = 1L;
- static final String BODY = "body";
- static final String BORDER = "border";
+ /** */
+ public static final String BODY = "body";
+
+ /** */
+ public static final String BORDER = "border";
static
{
@@ -145,9 +148,6 @@
WicketTagIdentifier.registerWellKnownTagName(BODY);
}
- /** Must be the same as the id automatically assigned to <wicket:body> */
- static final String BODY_ID = "_body";
-
/** The body component associated with <wicket:body> */
private final BorderBodyContainer body;
@@ -178,7 +178,7 @@
{
super(id, model);
- body = newBorderBodyContainer(id + BODY_ID);
+ body = newBorderBodyContainer(id + "_" + BODY);
addToBorder(body);
}
@@ -406,12 +406,7 @@
// Since we created the body component instance, identifying that we found it is easy.
if (child == body)
{
- // Find the markup for the child component. Make sure you use the preset default value.
- childMarkup = childMarkup.find(BODY_ID);
- if (childMarkup != null)
- {
- return childMarkup;
- }
+ return body.getMarkup();
}
// Find the markup for the child component
@@ -511,7 +506,54 @@
@Override
public IMarkupFragment getMarkup()
{
- return getParent().getMarkup(new WebComponent(BODY_ID));
+ IMarkupFragment markup = findByName(getParent().getMarkup(null), BODY);
+ setMarkup(markup);
+ return markup;
+ }
+
+ /**
+ * Search for <wicket:'name' ...> on the same level, but ignoring other "transparent"
+ * tags such as <wicket:enclosure> etc.
+ *
+ * @param markup
+ * @param name
+ * @return null, if not found
+ */
+ private final IMarkupFragment findByName(final IMarkupFragment markup, final String name)
+ {
+ Checks.argumentNotEmpty(name, "name");
+
+ MarkupStream stream = new MarkupStream(markup);
+
+ // Skip any raw markup
+ stream.skipUntil(ComponentTag.class);
+
+ // Skip <wicket:border>
+ stream.next();
+
+ while (stream.skipUntil(ComponentTag.class))
+ {
+ ComponentTag tag = stream.getTag();
+ if (tag.isOpen() || tag.isOpenClose())
+ {
+ if (tag instanceof WicketTag)
+ {
+ WicketTag wtag = (WicketTag)tag;
+ if (wtag.isBodyTag())
+ {
+ return stream.getMarkupFragment();
+ }
+ }
+ if (tag.isOpen() && !tag.hasNoCloseTag() && !(tag instanceof WicketTag))
+ {
+ stream.skipToMatchingCloseTag(tag);
+ }
+ }
+
+ stream.next();
+ }
+
+ return null;
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java Sat Jan 2 19:55:19 2010
@@ -21,10 +21,12 @@
import org.apache.wicket.markup.IMarkupFragment;
import org.apache.wicket.markup.MarkupException;
import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.WicketTag;
import org.apache.wicket.markup.html.ContainerWithAssociatedMarkupHelper;
import org.apache.wicket.markup.html.HeaderPartContainer;
import org.apache.wicket.markup.html.IHeaderPartContainerProvider;
import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
+import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.parser.XmlTag;
import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
import org.apache.wicket.model.IModel;
@@ -125,7 +127,7 @@
static
{
// register "wicket:panel"
- WicketTagIdentifier.registerWellKnownTagName("panel");
+ WicketTagIdentifier.registerWellKnownTagName(Panel.PANEL);
}
private ContainerWithAssociatedMarkupHelper markupHelper;
@@ -246,7 +248,7 @@
}
// Find <wicket:panel>
- IMarkupFragment panelMarkup = markup.find("_panel");
+ IMarkupFragment panelMarkup = findPanelTag(markup);
if (panelMarkup == null)
{
throw new MarkupException(
@@ -263,4 +265,41 @@
// else, find the markup fragment for the child component
return panelMarkup.find(child.getId());
}
+
+ /**
+ * Search for <wicket:'name' ...> on the same level, but ignoring other "transparent" tags
+ * such as <wicket:enclosure> etc.
+ *
+ * @param markup
+ * @param name
+ * @return null, if not found
+ */
+ private final IMarkupFragment findPanelTag(final IMarkupFragment markup)
+ {
+ MarkupStream stream = new MarkupStream(markup);
+
+ while (stream.skipUntil(ComponentTag.class))
+ {
+ ComponentTag tag = stream.getTag();
+ if (tag.isOpen() || tag.isOpenClose())
+ {
+ if (tag instanceof WicketTag)
+ {
+ WicketTag wtag = (WicketTag)tag;
+ if (wtag.isPanelTag())
+ {
+ return stream.getMarkupFragment();
+ }
+ }
+ if (tag.isOpen() && !tag.hasNoCloseTag() && !(tag instanceof WicketTag))
+ {
+ stream.skipToMatchingCloseTag(tag);
+ }
+ }
+
+ stream.next();
+ }
+
+ return null;
+ }
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java Sat Jan 2 19:55:19 2010
@@ -25,12 +25,12 @@
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.MarkupException;
import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
import org.apache.wicket.markup.html.basic.EnclosureContainer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.form.IFormSubmittingComponent;
import org.apache.wicket.markup.parser.filter.EnclosureHandler;
-import org.apache.wicket.markup.parser.filter.TransparentWebMarkupContainer;
import org.apache.wicket.response.NullResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/HtmlHeaderContainer.java Sat Jan 2 19:55:19 2010
@@ -28,11 +28,11 @@
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.IMarkupFragment;
-import org.apache.wicket.markup.MarkupElement;
import org.apache.wicket.markup.MarkupException;
import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.WicketTag;
import org.apache.wicket.markup.html.IHeaderResponse;
-import org.apache.wicket.markup.parser.filter.TransparentWebMarkupContainer;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
import org.apache.wicket.response.StringResponse;
@@ -340,35 +340,35 @@
throw new MarkupException("Unable to get page markup: " + getPage().toString());
}
- // wicket id can be either "_header_" or "_head"
-
// Find the markup fragment
MarkupStream stream = new MarkupStream(markup);
- while (stream.hasMore())
+ IMarkupFragment headerMarkup = null;
+ while (stream.skipUntil(ComponentTag.class) && (headerMarkup == null))
{
- MarkupElement elem = stream.get();
- if (elem instanceof ComponentTag)
+ ComponentTag tag = stream.getTag();
+ if (tag.isOpen() || tag.isOpenClose())
{
- ComponentTag tag = stream.getTag();
- if (tag.isOpen() || tag.isOpenClose())
+ if (tag instanceof WicketTag)
{
- if (tag.getId().equals("_header_"))
- {
- return stream.getMarkupFragment();
- }
- if (tag.getId().equals("_head"))
+ WicketTag wtag = (WicketTag)tag;
+ if (wtag.isHeadTag())
{
if (tag.getMarkupClass() == null)
{
- return stream.getMarkupFragment();
+ headerMarkup = stream.getMarkupFragment();
}
}
}
+ else if (tag.getName().equalsIgnoreCase("head"))
+ {
+ headerMarkup = stream.getMarkupFragment();
+ }
}
stream.next();
}
- return null;
+ setMarkup(headerMarkup);
+ return headerMarkup;
}
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java Sat Jan 2 19:55:19 2010
@@ -22,6 +22,7 @@
import org.apache.wicket.markup.MarkupException;
import org.apache.wicket.markup.MarkupNotFoundException;
import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.WicketTag;
import org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup;
import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
import org.apache.wicket.markup.parser.XmlTag;
@@ -62,10 +63,12 @@
{
private static final long serialVersionUID = 1L;
+ public static final String PANEL = "panel";
+
static
{
// register "wicket:panel"
- WicketTagIdentifier.registerWellKnownTagName("panel");
+ WicketTagIdentifier.registerWellKnownTagName(PANEL);
}
/** If if tag was an open-close tag */
@@ -114,7 +117,7 @@
protected void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag)
{
// Render the associated markup
- renderAssociatedMarkup("panel",
+ renderAssociatedMarkup(PANEL,
"Markup for a panel component has to contain part '<wicket:panel>'");
if (wasOpenCloseTag == false)
@@ -155,7 +158,7 @@
}
// Find <wicket:panel>
- IMarkupFragment panelMarkup = markup.find("_panel");
+ IMarkupFragment panelMarkup = findPanelTag(markup);
if (panelMarkup == null)
{
throw new MarkupNotFoundException(
@@ -178,4 +181,41 @@
return findMarkupInAssociatedFileHeader(markup, child);
}
+
+ /**
+ * Search for <wicket:'name' ...> on the same level, but ignoring other "transparent" tags
+ * such as <wicket:enclosure> etc.
+ *
+ * @param markup
+ * @param name
+ * @return null, if not found
+ */
+ private final IMarkupFragment findPanelTag(final IMarkupFragment markup)
+ {
+ MarkupStream stream = new MarkupStream(markup);
+
+ while (stream.skipUntil(ComponentTag.class))
+ {
+ ComponentTag tag = stream.getTag();
+ if (tag.isOpen() || tag.isOpenClose())
+ {
+ if (tag instanceof WicketTag)
+ {
+ WicketTag wtag = (WicketTag)tag;
+ if (wtag.isPanelTag())
+ {
+ return stream.getMarkupFragment();
+ }
+ }
+ if (tag.isOpen() && !tag.hasNoCloseTag() && !(tag instanceof WicketTag))
+ {
+ stream.skipToMatchingCloseTag(tag);
+ }
+ }
+
+ stream.next();
+ }
+
+ return null;
+ }
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/AbstractMarkupFilter.java Sat Jan 2 19:55:19 2010
@@ -33,6 +33,8 @@
/** The next MarkupFilter in the chain */
private IMarkupFilter parent;
+ private int count;
+
/**
* Construct.
*/
@@ -81,4 +83,13 @@
{
return (ComponentTag)getParent().nextTag();
}
+
+ /**
+ *
+ * @return A unique count per instance
+ */
+ protected int getCount()
+ {
+ return count++;
+ }
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/EnclosureHandler.java Sat Jan 2 19:55:19 2010
@@ -49,13 +49,16 @@
{
private static final long serialVersionUID = 1L;
+ /** */
+ public static final String ENCLOSURE = "enclosure";
+
/** The child attribute */
public static final String CHILD_ATTRIBUTE = "child";
static
{
// register "wicket:enclosure"
- WicketTagIdentifier.registerWellKnownTagName("enclosure");
+ WicketTagIdentifier.registerWellKnownTagName(ENCLOSURE);
}
/** Stack of <wicket:enclosure> tags */
@@ -159,22 +162,8 @@
{
if ((tag instanceof WicketTag) && ((WicketTag)tag).isEnclosureTag())
{
- CharSequence wicketId = tag.getString("wicket:id");
- String id = null;
- if (wicketId != null)
- {
- id = wicketId.toString();
- }
-
- if (id == null)
- {
- id = "enclosure-" + container.getPage().getAutoIndex();
- tag.setId(id);
- tag.setModified(true);
- }
-
// Yes, we handled the tag
- return new Enclosure(id, tag.getString(EnclosureHandler.CHILD_ATTRIBUTE));
+ return new Enclosure(tag.getId(), tag.getString(EnclosureHandler.CHILD_ATTRIBUTE));
}
// We were not able to handle the tag
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java Sat Jan 2 19:55:19 2010
@@ -27,6 +27,7 @@
import org.apache.wicket.markup.MarkupElement;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
import org.apache.wicket.markup.resolver.IComponentResolver;
import org.apache.wicket.request.IRequestCodingStrategy;
import org.slf4j.Logger;
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketLinkTagHandler.java Sat Jan 2 19:55:19 2010
@@ -26,6 +26,7 @@
import org.apache.wicket.markup.MarkupElement;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
import org.apache.wicket.markup.resolver.IComponentResolver;
import org.apache.wicket.util.collections.ArrayListStack;
import org.apache.wicket.util.string.StringValueConversionException;
@@ -51,13 +52,16 @@
{
private static final long serialVersionUID = 1L;
+ /** */
+ public static final String LINK = "link";
+
/** The id of autolink components */
public static final String AUTOLINK_ID = "_autolink_";
static
{
// register "wicket:link"
- WicketTagIdentifier.registerWellKnownTagName("link");
+ WicketTagIdentifier.registerWellKnownTagName(LINK);
}
/** Allow to have link regions within link regions */
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketMessageTagHandler.java Sat Jan 2 19:55:19 2010
@@ -26,6 +26,7 @@
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.MarkupElement;
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.resolver.IComponentResolver;
import org.apache.wicket.util.string.Strings;
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketRemoveTagHandler.java Sat Jan 2 19:55:19 2010
@@ -33,10 +33,13 @@
*/
public final class WicketRemoveTagHandler extends BaseMarkupFilter
{
+ /** */
+ public static final String REMOVE = "remove";
+
static
{
// register "wicket:remove"
- WicketTagIdentifier.registerWellKnownTagName("remove");
+ WicketTagIdentifier.registerWellKnownTagName(REMOVE);
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java Sat Jan 2 19:55:19 2010
@@ -28,6 +28,7 @@
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;
/**
@@ -83,6 +84,9 @@
final String namespace = markup.getWicketNamespace();
+ // If the form <tag wicket:id = "value"> is used
+ final String wicketIdValue = xmlTag.getAttributes().getString(namespace + ":id");
+
// Identify tags with Wicket namespace
ComponentTag tag;
if (namespace.equalsIgnoreCase(xmlTag.getNamespace()))
@@ -90,10 +94,13 @@
// It is <wicket:...>
tag = new WicketTag(xmlTag);
- // Make it a Wicket component. Otherwise it would be RawMarkup
- tag.setId("_" + tag.getName());
- tag.setAutoComponentTag(true);
- tag.setModified(true);
+ if (Strings.isEmpty(wicketIdValue))
+ {
+ // Make it a Wicket component. Otherwise it would be RawMarkup
+ tag.setId("_" + tag.getName() + getCount());
+ tag.setAutoComponentTag(true);
+ tag.setModified(true);
+ }
// If the tag is not a well-known wicket namespace tag
if (!isWellKnown(xmlTag))
@@ -110,18 +117,16 @@
tag = new ComponentTag(xmlTag);
}
- // If the form <tag wicket:id = "value"> is used
- final String value = tag.getAttributes().getString(namespace + ":id");
- if (value != null)
+ if (wicketIdValue != null)
{
- if (value.trim().length() == 0)
+ if (wicketIdValue.trim().length() == 0)
{
throw new WicketParseException(
"The wicket:id attribute value must not be empty. May be unmatched quotes?!?",
tag);
}
// Make it a wicket component. Otherwise it would be RawMarkup
- tag.setId(value);
+ tag.setId(wicketIdValue);
}
return tag;
@@ -145,6 +150,11 @@
}
}
+ /**
+ *
+ * @param xmlTag
+ * @return true, if name is known
+ */
private boolean isWellKnown(final XmlTag xmlTag)
{
final Iterator<String> iterator = wellKnownTagNames.iterator();
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoComponentResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoComponentResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoComponentResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoComponentResolver.java Sat Jan 2 19:55:19 2010
@@ -53,10 +53,12 @@
{
private static final long serialVersionUID = 1L;
+ public static final String COMPONENT = "component";
+
static
{
// register "wicket:component"
- WicketTagIdentifier.registerWellKnownTagName("component");
+ WicketTagIdentifier.registerWellKnownTagName(COMPONENT);
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/FragmentResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/FragmentResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/FragmentResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/FragmentResolver.java Sat Jan 2 19:55:19 2010
@@ -40,10 +40,13 @@
{
private static final long serialVersionUID = 1L;
+ /** */
+ public static final String FRAGMENT = "fragment";
+
static
{
// register "wicket:fragment"
- WicketTagIdentifier.registerWellKnownTagName("fragment");
+ WicketTagIdentifier.registerWellKnownTagName(FRAGMENT);
}
/**
@@ -61,8 +64,7 @@
// If <wicket:fragment ...>
if (wTag.isFragementTag())
{
- String id = wTag.getId() + container.getPage().getAutoIndex();
- return new WebComponent(id).setVisible(false);
+ return new WebComponent(wTag.getId()).setVisible(false);
}
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java Sat Jan 2 19:55:19 2010
@@ -23,11 +23,11 @@
import org.apache.wicket.markup.MarkupException;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
import org.apache.wicket.markup.parser.filter.HtmlHeaderSectionHandler;
-import org.apache.wicket.markup.parser.filter.TransparentWebMarkupContainer;
import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
import org.apache.wicket.util.resource.IResourceStream;
@@ -48,10 +48,13 @@
{
private static final long serialVersionUID = 1L;
+ /** */
+ public static final String HEAD = "head";
+
static
{
// register "wicket:head"
- WicketTagIdentifier.registerWellKnownTagName("head");
+ WicketTagIdentifier.registerWellKnownTagName(HEAD);
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java Sat Jan 2 19:55:19 2010
@@ -21,7 +21,7 @@
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.WicketTag;
-import org.apache.wicket.markup.parser.filter.TransparentWebMarkupContainer;
+import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
/**
@@ -34,11 +34,17 @@
{
private static final long serialVersionUID = 1L;
+ /** */
+ public static final String CHILD = "child";
+
+ /** */
+ public static final String EXTEND = "extend";
+
static
{
// register "wicket:extend" and "wicket:child"
- WicketTagIdentifier.registerWellKnownTagName("extend");
- WicketTagIdentifier.registerWellKnownTagName("child");
+ WicketTagIdentifier.registerWellKnownTagName(EXTEND);
+ WicketTagIdentifier.registerWellKnownTagName(CHILD);
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketContainerResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketContainerResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketContainerResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketContainerResolver.java Sat Jan 2 19:55:19 2010
@@ -65,10 +65,13 @@
private static final long serialVersionUID = 1L;
+ /** */
+ public static final String CONTAINER = "container";
+
static
{
// register "wicket:container"
- WicketTagIdentifier.registerWellKnownTagName("container");
+ WicketTagIdentifier.registerWellKnownTagName(CONTAINER);
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java Sat Jan 2 19:55:19 2010
@@ -96,10 +96,13 @@
private static final Logger log = LoggerFactory.getLogger(WicketMessageResolver.class);
+ /** */
+ public static final String MESSAGE = "message";
+
static
{
// register "wicket:message"
- WicketTagIdentifier.registerWellKnownTagName("message");
+ WicketTagIdentifier.registerWellKnownTagName(MESSAGE);
}
/**
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java?rev=895276&r1=895275&r2=895276&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java Sat Jan 2 19:55:19 2010
@@ -23,7 +23,6 @@
import org.apache.wicket.Page;
import org.apache.wicket.WicketTestCase;
import org.apache.wicket.markup.IMarkupFragment;
-import org.apache.wicket.markup.html.WebComponent;
import org.apache.wicket.markup.html.border.Border;
import org.apache.wicket.markup.html.panel.Fragment;
import org.apache.wicket.markup.html.panel.InlinePanelPage_1;
@@ -163,7 +162,7 @@
markup = border.getBodyContainer().getMarkup(null);
compare(markup, "<span wicket:id=\"border\">test</span>");
- markup = border.getBodyContainer().getParent().getMarkup(new WebComponent("_body"));
+ markup = border.getBodyContainer().getParent().getMarkup(border.getBodyContainer());
compare(markup, "<wicket:body/>");
// getMarkup(null) returns the markup which is used to find a child component
@@ -195,7 +194,7 @@
assertNull(border.getBodyContainer().getAssociatedMarkup());
// See explanation in BaseBorder.BorderBodyContainer.getMarkup()
- markup = border.getBodyContainer().getParent().getMarkup(new WebComponent("_body"));
+ markup = border.getBodyContainer().getParent().getMarkup(border.getBodyContainer());
compare(markup, "<wicket:body>333</wicket:body>");
markup = border.getBodyContainer().getMarkup();