Author: pete
Date: Thu Apr 28 14:15:27 2011
New Revision: 1097470
URL: http://svn.apache.org/viewvc?rev=1097470&view=rev
Log:
Implement IHeaderContributor on Behavior to reduce migration frustration /
surprise. People using 1.5-trunk (before this commit) who implemented
IHeaderContributor on Behaviors do not get IHeaderContributor#renderHead
invoked at all like it did in 1.4.
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IHeaderContributor.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/renderStrategy/AbstractHeaderRenderStrategy.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java?rev=1097470&r1=1097469&r2=1097470&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java
(original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java Thu
Apr 28 14:15:27 2011
@@ -4382,6 +4382,20 @@ public abstract class Component
return isEnabledInHierarchy() && isVisibleInHierarchy();
}
+ /**
+ * CAUTION: this method is not meant to be overridden like it was in
wicket 1.4 when implementing
+ * {@link IHeaderContributor}. overload
+ * {@link
Component#renderHead(org.apache.wicket.markup.html.IHeaderResponse)}
+ * instead to contribute to the response header.
+ *
+ * @param component
+ * @param response
+ */
+ public final void renderHead(Component component, IHeaderResponse
response)
+ {
+ renderHead(response);
+ }
+
/** {@inheritDoc} */
public void renderHead(IHeaderResponse response)
{
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java?rev=1097470&r1=1097469&r2=1097470&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/Behavior.java
Thu Apr 28 14:15:27 2011
@@ -21,6 +21,7 @@ import org.apache.wicket.IClusterable;
import org.apache.wicket.event.IEvent;
import org.apache.wicket.event.IEventSink;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.IHeaderContributor;
import org.apache.wicket.markup.html.IHeaderResponse;
/**
@@ -43,7 +44,7 @@ import org.apache.wicket.markup.html.IHe
* @author Eelco Hillenius
* @author Igor Vaynberg (ivaynberg)
*/
-public abstract class Behavior implements IClusterable, IEventSink
+public abstract class Behavior implements IClusterable, IEventSink,
IHeaderContributor
{
private static final long serialVersionUID = 1L;
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IHeaderContributor.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IHeaderContributor.java?rev=1097470&r1=1097469&r2=1097470&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IHeaderContributor.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IHeaderContributor.java
Thu Apr 28 14:15:27 2011
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.markup.html;
+import org.apache.wicket.Component;
import org.apache.wicket.IClusterable;
/**
@@ -47,11 +48,8 @@ public interface IHeaderContributor exte
/**
* Render to the web response whatever the component wants to
contribute to the head section.
*
- * TODO: Post 1.3, add component parameter, so that the behaviors dont'
have to track component
- * instances
- *
* @param response
* Response object
*/
- void renderHead(final IHeaderResponse response);
+ void renderHead(Component component, IHeaderResponse response);
}
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/renderStrategy/AbstractHeaderRenderStrategy.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/renderStrategy/AbstractHeaderRenderStrategy.java?rev=1097470&r1=1097469&r2=1097470&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/renderStrategy/AbstractHeaderRenderStrategy.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/renderStrategy/AbstractHeaderRenderStrategy.java
Thu Apr 28 14:15:27 2011
@@ -149,7 +149,7 @@ public abstract class AbstractHeaderRend
{
for (IHeaderContributor listener : renderHeadListeners)
{
-
listener.renderHead(headerContainer.getHeaderResponse());
+ listener.renderHead(headerContainer,
headerContainer.getHeaderResponse());
}
}
}