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/03 22:21:27 UTC
svn commit: r895480 - 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: Sun Jan 3 21:21:24 2010
New Revision: 895480
URL: http://svn.apache.org/viewvc?rev=895480&view=rev
Log:
wip on onMarkupAttached
Removed:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderPartContainerProvider.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupStream.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/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/panel/Panel.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/parser/filter/HeaderSectionMyLabel.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=895480&r1=895479&r2=895480&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 Jan 3 21:21:24 2010
@@ -33,6 +33,7 @@
import org.apache.wicket.markup.MarkupType;
import org.apache.wicket.markup.RawMarkup;
import org.apache.wicket.markup.WicketTag;
+import org.apache.wicket.markup.html.HeaderPartContainer;
import org.apache.wicket.markup.resolver.ComponentResolvers;
import org.apache.wicket.model.IComponentInheritedModel;
import org.apache.wicket.model.IModel;
@@ -318,7 +319,7 @@
* @return The component at the path
*/
@Override
- public final Component get(final String path)
+ public Component get(final String path)
{
// Reference to this container
if (path == null || path.trim().equals(""))
@@ -848,7 +849,7 @@
public String toString(final boolean detailed)
{
final StringBuffer buffer = new StringBuffer();
- buffer.append("[MarkupContainer ");
+ buffer.append("[" + this.getClass().getSimpleName() + " ");
buffer.append(super.toString(detailed));
if (detailed)
{
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupStream.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupStream.java?rev=895480&r1=895479&r2=895480&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupStream.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupStream.java Sun Jan 3 21:21:24 2010
@@ -493,6 +493,19 @@
}
/**
+ * Gets the attribute with 'name' for the tag at the current position
+ *
+ * @param name
+ * @param withWicketNamespace
+ * @return null, if not found
+ */
+ public final String getTagAttribute(final String name, final boolean withWicketNamespace)
+ {
+ String attr = (withWicketNamespace ? attr = getWicketNamespace() + ":" + name : name);
+ return getTag().getAttributes().getString(attr);
+ }
+
+ /**
* Throws a new markup exception
*
* @param message
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=895480&r1=895479&r2=895480&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 Sun Jan 3 21:21:24 2010
@@ -48,9 +48,9 @@
/**
* @param container
*/
- public ContainerWithAssociatedMarkupHelper(final IHeaderPartContainerProvider container)
+ public ContainerWithAssociatedMarkupHelper(final WebMarkupContainer container)
{
- this.container = (WebMarkupContainer)container;
+ this.container = container;
}
/**
@@ -155,8 +155,8 @@
// Create the header container and associate the markup with it
String scope = wTag.getAttributes().getString(
markupStream.getWicketNamespace() + ":scope");
- HeaderPartContainer headerContainer = ((IHeaderPartContainerProvider)container).newHeaderPartContainer(
- headerId, scope);
+ HeaderPartContainer headerContainer = new HeaderPartContainer(headerId, container,
+ scope);
headerContainer.setMarkup(markupStream.getMarkupFragment());
headerContainer.setRenderBodyOnly(true);
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=895480&r1=895479&r2=895480&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 Sun Jan 3 21:21:24 2010
@@ -31,8 +31,6 @@
* @author Juergen Donnerstag
*/
public class WebMarkupContainerWithAssociatedMarkup extends WebMarkupContainer
- implements
- IHeaderPartContainerProvider
{
private static final long serialVersionUID = 1L;
@@ -56,6 +54,16 @@
}
/**
+ * @see org.apache.wicket.Component#renderHead(org.apache.wicket.markup.html.internal.HtmlHeaderContainer)
+ */
+ @Override
+ public void renderHead(HtmlHeaderContainer container)
+ {
+ renderHeadFromAssociatedMarkupFile(container);
+ super.renderHead(container);
+ }
+
+ /**
* Called by components like Panel and Border which have associated Markup and which may have a
* <wicket:head> tag.
* <p>
@@ -78,15 +86,6 @@
}
/**
- * @see org.apache.wicket.markup.html.IHeaderPartContainerProvider#newHeaderPartContainer(java.lang.String,
- * java.lang.String)
- */
- public HeaderPartContainer newHeaderPartContainer(final String id, final String scope)
- {
- return new HeaderPartContainer(id, this, scope);
- }
-
- /**
* Search the child's markup in the header section of the markup
*
* @param markup
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=895480&r1=895479&r2=895480&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 Sun Jan 3 21:21:24 2010
@@ -29,7 +29,6 @@
import org.apache.wicket.markup.WicketTag;
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.WicketTagIdentifier;
import org.apache.wicket.markup.resolver.IComponentResolver;
@@ -358,16 +357,6 @@
}
/**
- * @see org.apache.wicket.Component#renderHead(org.apache.wicket.markup.html.internal.HtmlHeaderContainer)
- */
- @Override
- public void renderHead(HtmlHeaderContainer container)
- {
- renderHeadFromAssociatedMarkupFile(container);
- super.renderHead(container);
- }
-
- /**
* @see org.apache.wicket.MarkupContainer#getMarkup(org.apache.wicket.Component)
*/
@Override
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=895480&r1=895479&r2=895480&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 Sun Jan 3 21:21:24 2010
@@ -23,8 +23,6 @@
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;
@@ -119,8 +117,6 @@
* The model object type
*/
public abstract class FormComponentPanel<T> extends FormComponent<T>
- implements
- IHeaderPartContainerProvider
{
private static final long serialVersionUID = 1L;
@@ -166,15 +162,6 @@
}
/**
- * @see org.apache.wicket.markup.html.IHeaderPartContainerProvider#newHeaderPartContainer(java.lang.String,
- * java.lang.String)
- */
- public HeaderPartContainer newHeaderPartContainer(final String id, final String scope)
- {
- return new HeaderPartContainer(id, this, scope);
- }
-
- /**
* Check the associated markup file for a wicket header tag
*
* @see org.apache.wicket.Component#renderHead(org.apache.wicket.markup.html.internal.HtmlHeaderContainer)
@@ -212,7 +199,6 @@
// remove unapplicable attributes that might have been set by the call to super
tag.remove("name");
tag.remove("disabled");
-
}
/**
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=895480&r1=895479&r2=895480&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 Jan 3 21:21:24 2010
@@ -24,7 +24,6 @@
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;
import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
import org.apache.wicket.model.IModel;
@@ -63,6 +62,7 @@
{
private static final long serialVersionUID = 1L;
+ /** */
public static final String PANEL = "panel";
static
@@ -72,7 +72,7 @@
}
/** If if tag was an open-close tag */
- private boolean wasOpenCloseTag = false;
+ private transient boolean wasOpenCloseTag = false;
/**
* @see org.apache.wicket.Component#Component(String)
@@ -133,18 +133,6 @@
}
/**
- * Check the associated markup file for a wicket header tag
- *
- * @see org.apache.wicket.Component#renderHead(org.apache.wicket.markup.html.internal.HtmlHeaderContainer)
- */
- @Override
- public void renderHead(HtmlHeaderContainer container)
- {
- renderHeadFromAssociatedMarkupFile(container);
- super.renderHead(container);
- }
-
- /**
* @see org.apache.wicket.MarkupContainer#getMarkup(org.apache.wicket.Component)
*/
@Override
@@ -183,8 +171,7 @@
}
/**
- * Search for <wicket:'name' ...> on the same level, but ignoring other "transparent" tags
- * such as <wicket:enclosure> etc.
+ * Search for <wicket:panel ...> on the same level.
*
* @param markup
* @param name
@@ -207,10 +194,7 @@
return stream.getMarkupFragment();
}
}
- if (tag.isOpen() && !tag.hasNoCloseTag() && !(tag instanceof WicketTag))
- {
- stream.skipToMatchingCloseTag(tag);
- }
+ stream.skipToMatchingCloseTag(tag);
}
stream.next();
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/parser/filter/HeaderSectionMyLabel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/parser/filter/HeaderSectionMyLabel.java?rev=895480&r1=895479&r2=895480&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/parser/filter/HeaderSectionMyLabel.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/parser/filter/HeaderSectionMyLabel.java Sun Jan 3 21:21:24 2010
@@ -19,7 +19,6 @@
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup;
-import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
import org.apache.wicket.model.Model;
@@ -52,17 +51,4 @@
{
replaceComponentTagBody(markupStream, openTag, getDefaultModelObjectAsString());
}
-
- /**
- * This label renders its markup the normal way, and is still able to take and render the header
- * tag from an associated markup file.
- *
- * @see org.apache.wicket.Component#renderHead(org.apache.wicket.markup.html.internal.HtmlHeaderContainer)
- */
- @Override
- public void renderHead(HtmlHeaderContainer container)
- {
- this.renderHeadFromAssociatedMarkupFile(container);
- super.renderHead(container);
- }
}