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 2009/09/27 21:21:12 UTC
svn commit: r819387 - in /wicket/trunk/wicket/src:
main/java/org/apache/wicket/ main/java/org/apache/wicket/markup/
main/java/org/apache/wicket/markup/html/internal/
main/java/org/apache/wicket/markup/html/panel/
main/java/org/apache/wicket/markup/reso...
Author: jdonnerstag
Date: Sun Sep 27 19:21:11 2009
New Revision: 819387
URL: http://svn.apache.org/viewvc?rev=819387&view=rev
Log:
MarkupFragment: added test cases and fixed some bugs
Added:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/MarkupTagIterator.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2_ExpectedResult.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorderPage.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorderPage.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder_ExpectedResult.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage_ExpectedResult.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanelPage.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanelPage.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel_ExpectedResult.html
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/IMarkupFragment.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/Markup.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupFragment.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/DirectChildTagIterator.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/panel/Fragment.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/resolver/ComponentResolvers.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/PageParametersTest.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java?rev=819387&r1=819386&r2=819387&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java Sun Sep 27 19:21:11 2009
@@ -151,6 +151,45 @@
}
/**
+ * Find a child component. It may have been directly added to the container or to a transparent
+ * child container. From a user's point of view, it was added to this container.
+ *
+ * @param child
+ * @return The container the child was actually added to. Null if not found.
+ */
+ private MarkupContainer findChild(final Component child)
+ {
+ if (get(child.getId()) != null)
+ {
+ return this;
+ }
+
+ MarkupContainer container = (MarkupContainer)visitChildren(MarkupContainer.class,
+ new IVisitor<MarkupContainer>()
+ {
+ public Object component(MarkupContainer container)
+ {
+ if (container.isTransparentResolver())
+ {
+ if (container.getId().equals(child.getId()))
+ {
+ return container;
+ }
+ return IVisitor.CONTINUE_TRAVERSAL;
+ }
+ return IVisitor.CONTINUE_TRAVERSAL_BUT_DONT_GO_DEEPER;
+ }
+ });
+
+ if (container != null)
+ {
+ return container;
+ }
+
+ return null;
+ }
+
+ /**
* Replaces a child component of this container with another or just adds it in case no child
* with the same id existed yet.
*
@@ -426,9 +465,10 @@
IMarkupFragment markup = getMarkup();
if (markup == null)
{
- throw new MarkupException("Unable to determine Markup for Component: " + toString());
+ return null;
}
- else if (child == null)
+
+ if (child == null)
{
return markup;
}
@@ -1033,8 +1073,7 @@
final IDebugSettings debugSettings = Application.get().getDebugSettings();
if (debugSettings.isLinePreciseReportingOnAddComponentEnabled())
{
- child.setMetaData(ADDED_AT_KEY, Strings.toString(child, new MarkupException(
- "added")));
+ child.setMetaData(ADDED_AT_KEY, Strings.toString(child, new MarkupException("added")));
}
if (page != null)
@@ -1520,7 +1559,7 @@
}
else
{
- if (ComponentResolvers.resolve(getApplication(), this, markupStream, tag))
+ if (ComponentResolvers.resolve(this, markupStream, tag))
{
return;
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java?rev=819387&r1=819386&r2=819387&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java Sun Sep 27 19:21:11 2009
@@ -52,7 +52,6 @@
{
final String classname = clazz.getName();
final Locale locale = container.getLocale();
- // TODO until now getStyle() == style + variation
final String style = container.getStyle() + "_" + container.getVariation();
final String markupType = container.getMarkupType();
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/IMarkupFragment.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/IMarkupFragment.java?rev=819387&r1=819386&r2=819387&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/IMarkupFragment.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/IMarkupFragment.java Sun Sep 27 19:21:11 2009
@@ -79,4 +79,12 @@
* @return -1, if not found
*/
IMarkupFragment find(final String path, final String id, final int startIndex);
+
+ /**
+ *
+ * @param markupOnly
+ * True if only the markup shall be returned
+ * @return markup string
+ */
+ String toString(final boolean markupOnly);
}
\ No newline at end of file
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=819387&r1=819386&r2=819387&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 Sun Sep 27 19:21:11 2009
@@ -376,9 +376,22 @@
@Override
public final String toString()
{
+ return toString(false);
+ }
+
+ /**
+ * @param markupOnly
+ * True, if only the markup shall be returned
+ * @return String
+ */
+ public final String toString(final boolean markupOnly)
+ {
final AppendingStringBuffer buf = new AppendingStringBuffer(400);
- buf.append(markupResourceStream.toString());
- buf.append("\n");
+ if (markupOnly == false)
+ {
+ buf.append(markupResourceStream.toString());
+ buf.append("\n");
+ }
final Iterator<MarkupElement> iter = markupElements.iterator();
while (iter.hasNext())
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupFragment.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupFragment.java?rev=819387&r1=819386&r2=819387&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupFragment.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupFragment.java Sun Sep 27 19:21:11 2009
@@ -241,9 +241,20 @@
@Override
public String toString()
{
+ return toString(false);
+ }
+
+ /**
+ * @see org.apache.wicket.markup.IMarkupFragment#toString(boolean)
+ */
+ public String toString(boolean markupOnly)
+ {
final AppendingStringBuffer buf = new AppendingStringBuffer(400);
- buf.append(getRootMarkup().getMarkupResourceStream().toString());
- buf.append("\n");
+ if (markupOnly == false)
+ {
+ buf.append(getRootMarkup().getMarkupResourceStream().toString());
+ buf.append("\n");
+ }
for (int i = 0; i < size(); i++)
{
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/DirectChildTagIterator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/DirectChildTagIterator.java?rev=819387&r1=819386&r2=819387&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/DirectChildTagIterator.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/DirectChildTagIterator.java Sun Sep 27 19:21:11 2009
@@ -23,14 +23,21 @@
/**
* Iterator that iterates over direct child component tags of the given component tag
+ *
+ * @author Juergen Donnerstag
*/
-class DirectChildTagIterator extends ReadOnlyIterator<ComponentTag>
+public class DirectChildTagIterator extends ReadOnlyIterator<ComponentTag>
{
private final MarkupStream markupStream;
+
private final ComponentTag parent;
+
private ComponentTag next = null;
+
private int nextIndex;
+
private int currentIndex;
+
private final int originalIndex;
/**
@@ -39,9 +46,10 @@
* @param markupStream
* @param parent
*/
- public DirectChildTagIterator(MarkupStream markupStream, ComponentTag parent)
+ public DirectChildTagIterator(final MarkupStream markupStream, final ComponentTag parent)
{
super();
+
this.markupStream = markupStream;
this.parent = parent;
originalIndex = markupStream.getCurrentIndex();
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=819387&r1=819386&r2=819387&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 Sun Sep 27 19:21:11 2009
@@ -97,7 +97,6 @@
{
super(id);
-
if (childId == null)
{
throw new MarkupException(
@@ -240,7 +239,7 @@
protected void executeInsideBufferedZone()
{
markupStream.setCurrentIndex(tagIndex);
- ComponentResolvers.resolve(getApplication(), container, markupStream, tag);
+ ComponentResolvers.resolve(container, markupStream, tag);
}
}.execute();
Added: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/MarkupTagIterator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/MarkupTagIterator.java?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/MarkupTagIterator.java (added)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/internal/MarkupTagIterator.java Sun Sep 27 19:21:11 2009
@@ -0,0 +1,213 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markup.html.internal;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Stack;
+
+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.MarkupFragment;
+import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.util.collections.ReadOnlyIterator;
+
+/**
+ *
+ * @author Juergen Donnerstag
+ */
+public class MarkupTagIterator extends ReadOnlyIterator<ComponentTag>
+{
+ private final IMarkupFragment markup;
+
+ private int nextIndex = -1;
+
+ private ComponentTag next;
+
+ private boolean noSubChilds;
+
+ private boolean openOnly;
+
+ /** <wicket:xxx */
+ private boolean wicketTagsOnly;
+
+ private final Stack<ComponentTag> nextStack = new Stack<ComponentTag>();;
+
+ private Stack<ComponentTag> currentStack;
+
+ /**
+ * Construct.
+ *
+ * @param markup
+ * @param noSubchilds
+ * @param openOnly
+ */
+ public MarkupTagIterator(final IMarkupFragment markup)
+ {
+ super();
+
+ this.markup = markup;
+ }
+
+ /**
+ *
+ * @param value
+ * @return this
+ */
+ public MarkupTagIterator setWicketTagsOnly(boolean value)
+ {
+ wicketTagsOnly = value;
+ return this;
+ }
+
+ /**
+ *
+ * @param value
+ * @return this
+ */
+ public MarkupTagIterator setNoSubChilds(boolean value)
+ {
+ noSubChilds = value;
+ return this;
+ }
+
+ /**
+ *
+ * @param value
+ * @return this
+ */
+ public MarkupTagIterator setOpenTagOnly(boolean value)
+ {
+ openOnly = value;
+ return this;
+ }
+
+ /**
+ * @see java.util.Iterator#hasNext()
+ */
+ public boolean hasNext()
+ {
+ return findNext();
+ }
+
+ /**
+ * @see java.util.Iterator#next()
+ */
+ public ComponentTag next()
+ {
+ return next;
+ }
+
+ /**
+ * @return next wicket tag
+ */
+ public WicketTag nextWicketTag()
+ {
+ return (WicketTag)next();
+ }
+
+ /**
+ * Gets currentIndex.
+ *
+ * @return currentIndex
+ */
+ public int getIndex()
+ {
+ return nextIndex;
+ }
+
+ /**
+ *
+ * @return The parent open tags.
+ */
+ public List<ComponentTag> getStack()
+ {
+ return Collections.unmodifiableList(currentStack);
+ }
+
+ /**
+ * @return a new markup fragment for the current open tag
+ */
+ public IMarkupFragment getMarkupFragment()
+ {
+ if ((next != null) && (next.isOpen() || next.isOpenClose()))
+ {
+ return new MarkupFragment(markup, getIndex());
+ }
+
+ throw new WicketRuntimeException("Current tag is not an open tag: " + next);
+ }
+
+ /**
+ * @return true, if one more tag was found
+ */
+ private boolean findNext()
+ {
+ // preset to not-found
+ next = null;
+
+ currentStack = new Stack<ComponentTag>();
+ currentStack.addAll(nextStack);
+
+ for (nextIndex = nextIndex + 1; nextIndex < markup.size(); nextIndex++)
+ {
+ final MarkupElement elem = markup.get(nextIndex);
+
+ if (elem instanceof ComponentTag)
+ {
+ ComponentTag tag = (ComponentTag)elem;
+
+ if (tag.isOpen())
+ {
+ nextStack.push(tag);
+ }
+ else if (tag.isClose())
+ {
+ nextStack.pop();
+ }
+
+ if ((openOnly == false) || (tag.isClose() == false))
+ {
+ if ((noSubChilds == false) || (nextStack.size() != 1))
+ {
+ if ((wicketTagsOnly == false) || (tag instanceof WicketTag))
+ {
+ next = tag;
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ return next != null;
+ }
+
+ /**
+ *
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "nextIndex=" + nextIndex + "; noSubchilds=" + noSubChilds + "; openOnly=" +
+ openOnly + "; stack=" + (nextStack != null ? nextStack.size() : "null") + "; next=" +
+ next;
+ }
+}
\ No newline at end of file
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Fragment.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Fragment.java?rev=819387&r1=819386&r2=819387&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Fragment.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/panel/Fragment.java Sun Sep 27 19:21:11 2009
@@ -16,15 +16,13 @@
*/
package org.apache.wicket.markup.html.panel;
+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.MarkupElement;
import org.apache.wicket.markup.MarkupException;
-import org.apache.wicket.markup.MarkupFragment;
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.parser.XmlTag;
import org.apache.wicket.model.IModel;
@@ -351,88 +349,41 @@
}
/**
- * @see org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup#getMarkup()
+ * @see org.apache.wicket.MarkupContainer#getMarkup(org.apache.wicket.Component)
*/
@Override
- public IMarkupFragment getMarkup()
+ public IMarkupFragment getMarkup(final Component child)
{
IMarkupFragment markup = null;
// Get the markup provider
MarkupContainer provider = getMarkupProvider();
- if (provider != null)
+ if (provider == null)
{
- markup = findFragmentMarkup(provider);
+ provider = getParent();
}
- if ((markup == null) && (getParent() != null))
- {
- markup = findFragmentMarkup(getParent());
- }
-
- if (markup == null)
- {
- markup = findFragmentMarkup(this);
- }
-
- return markup;
- }
-
- /**
- * Find the fragment markup fragment
- *
- * @param provider
- * @return markup
- */
- private IMarkupFragment findFragmentMarkup(final MarkupContainer provider)
- {
- // Get the markup from the provider
- IMarkupFragment markup = provider.getMarkup();
if (provider.hasAssociatedMarkup())
{
markup = provider.getAssociatedMarkup();
}
-
- // Search the relevant fragment tag
- if (markup != null)
+ else
{
- markup = findFragmentMarkup(markup);
+ markup = getParent().getMarkup();
}
- // If not yet found, try the parent "calling" markup as well. This is relevant e.g. for
- // Border and Panel.
- if ((markup == null) && provider.hasAssociatedMarkup())
+ if (markup == null)
{
- markup = provider.getParent().getMarkup(provider);
- if (markup != null)
- {
- markup = findFragmentMarkup(markup);
- }
+ return null;
}
- return markup;
- }
+ markup = markup.find(null, markupId, 0);
- /**
- * Find the fragment markup fragment
- *
- * @param markup
- * @return Null, if not found
- */
- private IMarkupFragment findFragmentMarkup(final IMarkupFragment markup)
- {
- for (int i = 0; i < markup.size(); i++)
+ if (child == null)
{
- MarkupElement elem = markup.get(i);
- if (elem instanceof WicketTag)
- {
- WicketTag tag = (WicketTag)elem;
- if (tag.isFragementTag() && tag.getId().equals(markupId))
- {
- return new MarkupFragment(markup, i);
- }
- }
+ return markup;
}
- return null;
+
+ return markup.find(null, child.getId(), 0);
}
}
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=819387&r1=819386&r2=819387&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 Sun Sep 27 19:21:11 2009
@@ -21,6 +21,7 @@
import org.apache.wicket.markup.IMarkupFragment;
import org.apache.wicket.markup.MarkupException;
import org.apache.wicket.markup.MarkupFragment;
+import org.apache.wicket.markup.MarkupNotFoundException;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup;
import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
@@ -150,15 +151,15 @@
IMarkupFragment markup = getAssociatedMarkup();
if (markup == null)
{
- throw new MarkupException("Failed to find markup file associated with panel. Panel: " +
- this.toString());
+ throw new MarkupNotFoundException(
+ "Failed to find markup file associated with panel. Panel: " + this.toString());
}
// Find <wicket:panel>
int index = markup.findComponentIndex(null, "_panel", 0);
if (index == -1)
{
- throw new MarkupException(
+ throw new MarkupNotFoundException(
"Expected to find <wicket:panel> in associated markup file. Markup: " +
markup.toString());
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/ComponentResolvers.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/ComponentResolvers.java?rev=819387&r1=819386&r2=819387&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/ComponentResolvers.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/ComponentResolvers.java Sun Sep 27 19:21:11 2009
@@ -16,8 +16,6 @@
*/
package org.apache.wicket.markup.resolver;
-import java.util.Iterator;
-
import org.apache.wicket.Application;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
@@ -33,7 +31,6 @@
{
private ComponentResolvers()
{
-
}
/**
@@ -44,17 +41,15 @@
* component needs to be resolved under normal circumstances.
* </p>
*
- * @param application
* @param container
* @param markupStream
* @param tag
- * @return <code>true</code> if a component was resolved using on of tried resolvers,
+ * @return <code>true</code> if a component was resolved using one of tried resolvers,
* <code>false</code> otherwise.
*/
- public static boolean resolve(final Application application, final MarkupContainer container,
- MarkupStream markupStream, ComponentTag tag)
+ public static boolean resolve(final MarkupContainer container, final MarkupStream markupStream,
+ final ComponentTag tag)
{
-
// try to resolve using component hierarchy
Component cursor = container;
@@ -67,17 +62,15 @@
return true;
}
}
- cursor = cursor.findParent(MarkupContainer.class);
+ cursor = cursor.getParent();
}
// fallback to application-level resolvers
- Iterator<IComponentResolver> resolvers = application.getPageSettings()
- .getComponentResolvers()
- .iterator();
- while (resolvers.hasNext())
+ for (final IComponentResolver resolver : Application.get()
+ .getPageSettings()
+ .getComponentResolvers())
{
- IComponentResolver resolver = resolvers.next();
if (resolver.resolve(container, markupStream, tag))
{
return true;
@@ -86,5 +79,4 @@
return false;
}
-
}
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=819387&r1=819386&r2=819387&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 Sun Sep 27 19:21:11 2009
@@ -29,9 +29,9 @@
import org.apache.wicket.markup.IMarkupFragment;
import org.apache.wicket.markup.MarkupElement;
import org.apache.wicket.markup.MarkupException;
-import org.apache.wicket.markup.MarkupFragment;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.html.internal.MarkupTagIterator;
import org.apache.wicket.markup.parser.XmlTag;
import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
import org.apache.wicket.model.Model;
@@ -111,7 +111,6 @@
*/
private static final String DEFAULT_VALUE = "DEFAULT_WICKET_MESSAGE_RESOLVER_VALUE";
-
/**
* Try to resolve the tag, then create a component, add it to the container and render it.
*
@@ -425,16 +424,14 @@
// Get the parent markup. Make sure that in case of Border and Panel you get the
// associated markup
IMarkupFragment markup = getParent().getMarkup(null);
- for (int i = 0; i < markup.size(); i++)
+ MarkupTagIterator iter = new MarkupTagIterator(markup).setWicketTagsOnly(true)
+ .setOpenTagOnly(true);
+ while (iter.hasNext())
{
- MarkupElement elem = markup.get(i);
- if (elem instanceof WicketTag)
+ WicketTag tag = iter.nextWicketTag();
+ if (tag.isMessageTag() && key.equals(tag.getAttribute("key")))
{
- WicketTag tag = (WicketTag)elem;
- if (tag.isMessageTag() && key.equals(tag.getAttribute("key")))
- {
- return new MarkupFragment(markup, i);
- }
+ return iter.getMarkupFragment();
}
}
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/PageParametersTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/PageParametersTest.java?rev=819387&r1=819386&r2=819387&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/PageParametersTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/PageParametersTest.java Sun Sep 27 19:21:11 2009
@@ -517,6 +517,8 @@
public static final class SerializableThing implements Serializable
{
+ private static final long serialVersionUID = 1L;
+
public final String word;
public SerializableThing(String word)
Added: 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=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MarkupFragmentTest.java Sun Sep 27 19:21:11 2009
@@ -0,0 +1,219 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markupFragments;
+
+import java.io.IOException;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.Page;
+import org.apache.wicket.WicketTestCase;
+import org.apache.wicket.markup.IMarkupFragment;
+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;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.util.diff.DiffUtil;
+
+/**
+ *
+ */
+public class MarkupFragmentTest extends WicketTestCase
+{
+ private void compareWithFile(IMarkupFragment markup, String filename) throws IOException
+ {
+ String doc = markup.toString(true);
+ DiffUtil.validatePage(doc, MyPage.class, filename, true);
+ }
+
+ private void compare(IMarkupFragment markup, String testMarkup) throws IOException
+ {
+ testMarkup = testMarkup.replaceAll("\n\r", "");
+ testMarkup = testMarkup.replaceAll("\r\n", "");
+
+ String doc = markup.toString(true);
+ doc = doc.replaceAll("\n\r", "");
+ doc = doc.replaceAll("\r\n", "");
+ assertEquals(doc, testMarkup);
+ }
+
+ /**
+ * page.getAssociatedMarkup(), page.getMarkup() and page.getMarkup(null) must all return the
+ * same
+ *
+ * @throws Exception
+ */
+ public void testPage() throws Exception
+ {
+ IMarkupFragment markup = new MyPage().getAssociatedMarkup();
+ compareWithFile(markup, "MyPage_ExpectedResult.html");
+
+ markup = new MyPage().getMarkup();
+ compareWithFile(markup, "MyPage_ExpectedResult.html");
+
+ markup = new MyPage().getMarkup(null);
+ compareWithFile(markup, "MyPage_ExpectedResult.html");
+ }
+
+ /**
+ *
+ * @throws Exception
+ */
+ public void testPanel() throws Exception
+ {
+ Page page = new MyPage();
+ Panel panel = new MyPanel("panel");
+ page.add(panel);
+
+ // Get the associated markup file
+ IMarkupFragment markup = panel.getAssociatedMarkup();
+ compareWithFile(markup, "MyPanel_ExpectedResult.html");
+
+ // The Page is missing the tag to "call" the panel
+ assertNull(panel.getMarkup());
+
+ // Create a Page with proper markup for the panel
+ page = new MyPanelPage();
+ panel = (Panel)page.get("panel");
+
+ // getMarkup() returns the "calling" tags
+ markup = panel.getMarkup();
+ compare(markup, "<span wicket:id=\"panel\">test</span>");
+
+ // getMarkup(null) returns the markup which is used to find a child component
+ markup = panel.getMarkup(null);
+ compare(markup, "<wicket:panel> <span wicket:id=\"label\">text</span></wicket:panel>");
+ }
+
+ /**
+ *
+ * @throws Exception
+ */
+ public void testLabel() throws Exception
+ {
+ Component label = new MyPage().get("label");
+ IMarkupFragment markup = label.getMarkup();
+ compare(markup, "<span wicket:id=\"label\">text</span>");
+
+ label = new MyPanelPage().get("panel:label");
+ markup = label.getMarkup();
+ compare(markup, "<span wicket:id=\"label\">text</span>");
+ }
+
+ /**
+ *
+ * @throws Exception
+ */
+ public void testWebMarkupContainer() throws Exception
+ {
+ MarkupContainer container = (MarkupContainer)new MyPage().get("container");
+ IMarkupFragment markup = container.getMarkup();
+ compare(markup, "<span wicket:id=\"container\">text</span>");
+
+ // The container doesn't have an external markup file
+ markup = container.getAssociatedMarkup();
+ assertNull(markup);
+
+ // Get the markup which is used to search for children.
+ markup = container.getMarkup(null);
+ compare(markup, "<span wicket:id=\"container\">text</span>");
+ }
+
+ /**
+ *
+ * @throws Exception
+ */
+ public void testBorder() throws Exception
+ {
+ Page page = new MyBorderPage();
+ Border border = (Border)page.get("border");
+
+ // Get the associated markup file
+ IMarkupFragment markup = border.getAssociatedMarkup();
+ compareWithFile(markup, "MyBorder_ExpectedResult.html");
+
+ // getMarkup() returns the "calling" tags
+ markup = border.getMarkup();
+ compare(markup, "<span wicket:id=\"border\">test</span>");
+
+ // getMarkup(null) returns the markup which is used to find a child component
+ markup = border.getMarkup(null);
+ compare(markup, "<wicket:border> 111 <wicket:body/> 222</wicket:border>");
+
+ assertNull(border.getBodyContainer().getAssociatedMarkup());
+
+ markup = border.getBodyContainer().getMarkup();
+ compare(markup, "<wicket:body/>");
+
+ // getMarkup(null) returns the markup which is used to find a child component
+ markup = border.getBodyContainer().getMarkup(null);
+ compare(markup, "<span wicket:id=\"border\">test</span>");
+ }
+
+ /**
+ *
+ * @throws Exception
+ */
+ public void testBorder2() throws Exception
+ {
+ Page page = new MyBorderPage();
+ Border border = (Border)page.get("border2");
+
+ // Get the associated markup file
+ IMarkupFragment markup = border.getAssociatedMarkup();
+ compareWithFile(markup, "MyBorder2_ExpectedResult.html");
+
+ // getMarkup() returns the "calling" tags
+ markup = border.getMarkup();
+ compare(markup, "<span wicket:id=\"border2\">test</span>");
+
+ // getMarkup(null) returns the markup which is used to find a child component
+ markup = border.getMarkup(null);
+ compare(markup, "<wicket:border> 111 <wicket:body>333</wicket:body> 222</wicket:border>");
+
+ assertNull(border.getBodyContainer().getAssociatedMarkup());
+
+ markup = border.getBodyContainer().getMarkup();
+ compare(markup, "<wicket:body>333</wicket:body>");
+
+ // getMarkup(null) returns the markup which is used to find a child component
+ markup = border.getBodyContainer().getMarkup(null);
+ compare(markup, "<span wicket:id=\"border2\">test</span>");
+ }
+
+ /**
+ *
+ * @throws Exception
+ */
+ public void testFragments() throws Exception
+ {
+ Page page = new InlinePanelPage_1();
+ Fragment fragment = (Fragment)page.get("myPanel1");
+
+ // Get the associated markup file
+ IMarkupFragment markup = fragment.getAssociatedMarkup();
+ assertNull(markup);
+
+ // getMarkup() returns the "calling" tags
+ markup = fragment.getMarkup();
+ compare(markup, "<span wicket:id=\"myPanel1\">panel</span>");
+
+ // getMarkup(null) returns the markup which is used to find a child component
+ markup = fragment.getMarkup(null);
+ compare(markup, "<wicket:fragment wicket:id=\"frag1\">panel 1</wicket:fragment>");
+ }
+}
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder.html?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder.html (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder.html Sun Sep 27 19:21:11 2009
@@ -0,0 +1,19 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<wicket:border>
+ 111
+ <wicket:body/>
+ 222
+</wicket:border>
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder.java?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder.java (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder.java Sun Sep 27 19:21:11 2009
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markupFragments;
+
+import org.apache.wicket.markup.html.border.Border;
+
+
+/**
+ *
+ */
+public class MyBorder extends Border
+{
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Construct.
+ *
+ * @param id
+ */
+ public MyBorder(String id)
+ {
+ super(id);
+ }
+}
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2.html?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2.html (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2.html Sun Sep 27 19:21:11 2009
@@ -0,0 +1,19 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<wicket:border>
+ 111
+ <wicket:body>333</wicket:body>
+ 222
+</wicket:border>
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2.java?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2.java (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2.java Sun Sep 27 19:21:11 2009
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markupFragments;
+
+import org.apache.wicket.markup.html.border.Border;
+
+
+/**
+ *
+ */
+public class MyBorder2 extends Border
+{
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Construct.
+ *
+ * @param id
+ */
+ public MyBorder2(String id)
+ {
+ super(id);
+ }
+}
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2_ExpectedResult.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2_ExpectedResult.html?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2_ExpectedResult.html (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder2_ExpectedResult.html Sun Sep 27 19:21:11 2009
@@ -0,0 +1,19 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<wicket:border>
+ 111
+ <wicket:body>333</wicket:body>
+ 222
+</wicket:border>
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorderPage.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorderPage.html?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorderPage.html (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorderPage.html Sun Sep 27 19:21:11 2009
@@ -0,0 +1,20 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html xmlns:wicket>
+<body>
+ <span wicket:id="border">test</span>
+ <span wicket:id="border2">test</span>
+</body>
+</html>
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorderPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorderPage.java?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorderPage.java (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorderPage.java Sun Sep 27 19:21:11 2009
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markupFragments;
+
+import org.apache.wicket.markup.html.WebPage;
+
+/**
+ *
+ */
+public class MyBorderPage extends WebPage
+{
+ /**
+ * Construct.
+ */
+ public MyBorderPage()
+ {
+ add(new MyBorder("border"));
+ add(new MyBorder2("border2"));
+ }
+}
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder_ExpectedResult.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder_ExpectedResult.html?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder_ExpectedResult.html (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyBorder_ExpectedResult.html Sun Sep 27 19:21:11 2009
@@ -0,0 +1,19 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<wicket:border>
+ 111
+ <wicket:body/>
+ 222
+</wicket:border>
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage.html?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage.html (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage.html Sun Sep 27 19:21:11 2009
@@ -0,0 +1,20 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html xmlns:wicket>
+<body>
+ <span wicket:id="label">text</span>
+ <span wicket:id="container">text</span>
+</body>
+</html>
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage.java?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage.java (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage.java Sun Sep 27 19:21:11 2009
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markupFragments;
+
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.basic.Label;
+
+/**
+ *
+ */
+public class MyPage extends WebPage
+{
+ /**
+ * Construct.
+ */
+ public MyPage()
+ {
+ add(new Label("label"));
+
+ add(new WebMarkupContainer("container"));
+ }
+}
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage_ExpectedResult.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage_ExpectedResult.html?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage_ExpectedResult.html (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPage_ExpectedResult.html Sun Sep 27 19:21:11 2009
@@ -0,0 +1,20 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html xmlns:wicket>
+<head></head><body>
+ <span wicket:id="label">text</span>
+ <span wicket:id="container">text</span>
+</body>
+</html>
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel.html?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel.html (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel.html Sun Sep 27 19:21:11 2009
@@ -0,0 +1,17 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<wicket:panel>
+ <span wicket:id="label">text</span>
+</wicket:panel>
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel.java?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel.java (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel.java Sun Sep 27 19:21:11 2009
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markupFragments;
+
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.panel.Panel;
+
+
+/**
+ *
+ */
+public class MyPanel extends Panel
+{
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Construct.
+ *
+ * @param id
+ */
+ public MyPanel(String id)
+ {
+ super(id);
+
+ add(new Label("label"));
+ }
+}
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanelPage.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanelPage.html?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanelPage.html (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanelPage.html Sun Sep 27 19:21:11 2009
@@ -0,0 +1,19 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html xmlns:wicket>
+<body>
+ <span wicket:id="panel">test</span>
+</body>
+</html>
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanelPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanelPage.java?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanelPage.java (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanelPage.java Sun Sep 27 19:21:11 2009
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markupFragments;
+
+import org.apache.wicket.markup.html.WebPage;
+
+/**
+ *
+ */
+public class MyPanelPage extends WebPage
+{
+ /**
+ * Construct.
+ */
+ public MyPanelPage()
+ {
+ add(new MyPanel("panel"));
+ }
+}
Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel_ExpectedResult.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel_ExpectedResult.html?rev=819387&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel_ExpectedResult.html (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markupFragments/MyPanel_ExpectedResult.html Sun Sep 27 19:21:11 2009
@@ -0,0 +1,17 @@
+<!--
+ ====================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<wicket:panel>
+ <span wicket:id="label">text</span>
+</wicket:panel>