Author: mgrigorov
Date: Wed Aug 11 18:55:14 2010
New Revision: 984532
URL: http://svn.apache.org/viewvc?rev=984532&view=rev
Log:
WICKET-2944 Application addRenderHeadListener causing error
Do not throw exception for HeaderResponse listeners during Ajax request
processing.
Log a debug message and ignore the call.
merge r984528 from 1.4.x
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java?rev=984532&r1=984531&r2=984532&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
Wed Aug 11 18:55:14 2010
@@ -32,7 +32,6 @@ import org.apache.wicket.Application;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.Page;
-import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.behavior.IBehavior;
import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.internal.HeaderResponse;
@@ -889,83 +888,104 @@ public class AjaxRequestTarget implement
{
private static final long serialVersionUID = 1L;
- private void checkHeaderRendering()
+ private boolean checkHeaderRendering()
{
if (headerRendering == false)
{
- throw new WicketRuntimeException(
- "Only methods that can be called on
IHeaderResponse outside renderHead() are renderOnLoadJavascript and
renderOnDomReadyJavascript");
+ LOG.debug("Only methods that can be called on
IHeaderResponse outside renderHead() are renderOnLoadJavascript and
renderOnDomReadyJavascript");
}
+
+ return headerRendering;
}
@Override
public void renderCSSReference(ResourceReference reference,
String media)
{
- checkHeaderRendering();
- super.renderCSSReference(reference, media);
+ if (checkHeaderRendering())
+ {
+ super.renderCSSReference(reference, media);
+ }
}
@Override
public void renderCSSReference(String url)
{
- checkHeaderRendering();
- super.renderCSSReference(url);
+ if (checkHeaderRendering())
+ {
+ super.renderCSSReference(url);
+ }
}
@Override
public void renderCSSReference(String url, String media)
{
- checkHeaderRendering();
- super.renderCSSReference(url, media);
+ if (checkHeaderRendering())
+ {
+ super.renderCSSReference(url, media);
+ }
}
@Override
public void renderJavascript(CharSequence javascript, String id)
{
- checkHeaderRendering();
- super.renderJavascript(javascript, id);
+ if (checkHeaderRendering())
+ {
+ super.renderJavascript(javascript, id);
+ }
}
@Override
public void renderCSSReference(ResourceReference reference)
{
- checkHeaderRendering();
- super.renderCSSReference(reference);
+ if (checkHeaderRendering())
+ {
+ super.renderCSSReference(reference);
+ }
}
@Override
public void renderJavascriptReference(ResourceReference
reference)
{
- checkHeaderRendering();
- super.renderJavascriptReference(reference);
+ if (checkHeaderRendering())
+ {
+ super.renderJavascriptReference(reference);
+ }
}
@Override
public void renderJavascriptReference(ResourceReference
reference, String id)
{
- checkHeaderRendering();
- super.renderJavascriptReference(reference, id);
+ if (checkHeaderRendering())
+ {
+ super.renderJavascriptReference(reference, id);
+ }
}
@Override
public void renderJavascriptReference(String url)
{
- checkHeaderRendering();
- super.renderJavascriptReference(url);
+ if (checkHeaderRendering())
+ {
+ super.renderJavascriptReference(url);
+ }
}
@Override
public void renderJavascriptReference(String url, String id)
{
- checkHeaderRendering();
- super.renderJavascriptReference(url, id);
+ if (checkHeaderRendering())
+ {
+ super.renderJavascriptReference(url, id);
+ }
}
@Override
public void renderString(CharSequence string)
{
- checkHeaderRendering();
- super.renderString(string);
+ if (checkHeaderRendering())
+ {
+ super.renderString(string);
+ }
}
/**