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 <mgrigo...@apache.org> Authored: Wed May 1 13:52:30 2013 +0200 Committer: Martin Tzvetanov Grigorov <mgrigo...@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(); }