You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2010/08/11 20:49:58 UTC

svn commit: r984528 - /wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java

Author: mgrigorov
Date: Wed Aug 11 18:49:58 2010
New Revision: 984528

URL: http://svn.apache.org/viewvc?rev=984528&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.

Modified:
    wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java

Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java?rev=984528&r1=984527&r2=984528&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java Wed Aug 11 18:49:58 2010
@@ -36,7 +36,6 @@ import org.apache.wicket.Page;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.ResourceReference;
 import org.apache.wicket.Response;
-import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.ajax.AjaxRequestTarget.IListener;
 import org.apache.wicket.behavior.IBehavior;
 import org.apache.wicket.markup.html.IHeaderResponse;
@@ -891,83 +890,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);
+			}
 		}
 
 		/**