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 &lt;wicket:'name' ...&gt; on the same level, but ignoring other "transparent" tags
-	 * such as &lt;wicket:enclosure&gt; etc.
+	 * Search for &lt;wicket:panel ...&gt; 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);
-	}
 }