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);
-       }
 }


Reply via email to