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 2013/05/01 13:54:52 UTC

git commit: WICKET-4969 RequestCycle#getExceptionRetryCount should be in IRequestCycleSettings

Updated Branches:
  refs/heads/master 7d8605dee -> 8a4f6a722


WICKET-4969 RequestCycle#getExceptionRetryCount should be in IRequestCycleSettings


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8a4f6a72
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8a4f6a72
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8a4f6a72

Branch: refs/heads/master
Commit: 8a4f6a722ad61c261f92ff2ccaae08ab10c53932
Parents: 7d8605d
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed May 1 13:52:30 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed May 1 13:52:30 2013 +0200

----------------------------------------------------------------------
 .../apache/wicket/request/cycle/RequestCycle.java  |    7 ++++-
 .../wicket/settings/IRequestCycleSettings.java     |   14 ++++++++++
 .../wicket/settings/def/RequestCycleSettings.java  |   20 +++++++++++---
 .../apache/wicket/jmx/RequestCycleSettings.java    |   12 +++++++++
 .../wicket/jmx/RequestCycleSettingsMBean.java      |   15 +++++++++++
 5 files changed, 62 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/8a4f6a72/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
index eebb9d4..b8eb565 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
@@ -189,7 +189,12 @@ public class RequestCycle implements IRequestCycle, IEventSink
 	 */
 	protected int getExceptionRetryCount()
 	{
-		return 10;
+		int retries = 10;
+		if (Application.exists())
+		{
+			retries = Application.get().getRequestCycleSettings().getExceptionRetryCount();
+		}
+		return retries;
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/8a4f6a72/wicket-core/src/main/java/org/apache/wicket/settings/IRequestCycleSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/settings/IRequestCycleSettings.java b/wicket-core/src/main/java/org/apache/wicket/settings/IRequestCycleSettings.java
index 6c871c6..dd29ba0 100644
--- a/wicket-core/src/main/java/org/apache/wicket/settings/IRequestCycleSettings.java
+++ b/wicket-core/src/main/java/org/apache/wicket/settings/IRequestCycleSettings.java
@@ -288,4 +288,18 @@ public interface IRequestCycleSettings
 	 * @param timeout
 	 */
 	void setTimeout(Duration timeout);
+
+	/**
+	 * Sets how many attempts Wicket will make to render the exception request handler before
+	 *         giving up.
+	 * @param retries
+	 *      the number of attempts
+	 */
+	void setExceptionRetryCount(int retries);
+
+	/**
+	 * @return How many times will Wicket attempt to render the exception request handler before
+	 *         giving up.
+	 */
+	int getExceptionRetryCount();
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/8a4f6a72/wicket-core/src/main/java/org/apache/wicket/settings/def/RequestCycleSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/settings/def/RequestCycleSettings.java b/wicket-core/src/main/java/org/apache/wicket/settings/def/RequestCycleSettings.java
index e2966d9..536102e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/settings/def/RequestCycleSettings.java
+++ b/wicket-core/src/main/java/org/apache/wicket/settings/def/RequestCycleSettings.java
@@ -21,7 +21,6 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.wicket.response.filter.IResponseFilter;
-import org.apache.wicket.settings.IExceptionSettings;
 import org.apache.wicket.settings.IRequestCycleSettings;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.time.Duration;
@@ -71,6 +70,8 @@ public class RequestCycleSettings implements IRequestCycleSettings
 	 */
 	private Duration timeout = Duration.ONE_MINUTE;
 
+	private int exceptionRetryCount = 10;
+
 // ****************************************************************************
 // IRequestCycleSettings Implementation
 // ****************************************************************************
@@ -192,10 +193,19 @@ public class RequestCycleSettings implements IRequestCycleSettings
 	@Override
 	public void setTimeout(Duration timeout)
 	{
-		if (timeout == null)
-		{
-			throw new IllegalArgumentException("timeout cannot be null");
-		}
+		Args.notNull(timeout, "timeout");
 		this.timeout = timeout;
 	}
+
+	@Override
+	public void setExceptionRetryCount(int retries)
+	{
+		this.exceptionRetryCount = retries;
+	}
+
+	@Override
+	public int getExceptionRetryCount()
+	{
+		return exceptionRetryCount;
+	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/8a4f6a72/wicket-jmx/src/main/java/org/apache/wicket/jmx/RequestCycleSettings.java
----------------------------------------------------------------------
diff --git a/wicket-jmx/src/main/java/org/apache/wicket/jmx/RequestCycleSettings.java b/wicket-jmx/src/main/java/org/apache/wicket/jmx/RequestCycleSettings.java
index c13d685..8815ee0 100644
--- a/wicket-jmx/src/main/java/org/apache/wicket/jmx/RequestCycleSettings.java
+++ b/wicket-jmx/src/main/java/org/apache/wicket/jmx/RequestCycleSettings.java
@@ -110,4 +110,16 @@ public class RequestCycleSettings implements RequestCycleSettingsMBean
 	{
 		application.getRequestCycleSettings().setTimeout(Duration.valueOf(timeout));
 	}
+
+	@Override
+	public void setExceptionRetryCount(int retries)
+	{
+		application.getRequestCycleSettings().setExceptionRetryCount(retries);
+	}
+
+	@Override
+	public int getExceptionRetryCount()
+	{
+		return application.getRequestCycleSettings().getExceptionRetryCount();
+	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/8a4f6a72/wicket-jmx/src/main/java/org/apache/wicket/jmx/RequestCycleSettingsMBean.java
----------------------------------------------------------------------
diff --git a/wicket-jmx/src/main/java/org/apache/wicket/jmx/RequestCycleSettingsMBean.java b/wicket-jmx/src/main/java/org/apache/wicket/jmx/RequestCycleSettingsMBean.java
index 4758a53..855ee3e 100644
--- a/wicket-jmx/src/main/java/org/apache/wicket/jmx/RequestCycleSettingsMBean.java
+++ b/wicket-jmx/src/main/java/org/apache/wicket/jmx/RequestCycleSettingsMBean.java
@@ -93,4 +93,19 @@ public interface RequestCycleSettingsMBean
 	 * @param timeout
 	 */
 	void setTimeout(String timeout);
+
+
+	/**
+	 * Sets how many attempts Wicket will make to render the exception request handler before
+	 *         giving up.
+	 * @param retries
+	 *      the number of attempts
+	 */
+	void setExceptionRetryCount(int retries);
+
+	/**
+	 * @return How many times will Wicket attempt to render the exception request handler before
+	 *         giving up.
+	 */
+	int getExceptionRetryCount();
 }