You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Eelco Hillenius (JIRA)" <ji...@apache.org> on 2007/08/20 01:43:30 UTC

[jira] Created: (WICKET-863) don't throw exceptions when missing keys for var substitution when throwExceptionOnMissingResource setting is false

don't throw exceptions when missing keys for var substitution when throwExceptionOnMissingResource setting is false
-------------------------------------------------------------------------------------------------------------------

                 Key: WICKET-863
                 URL: https://issues.apache.org/jira/browse/WICKET-863
             Project: Wicket
          Issue Type: Improvement
          Components: wicket
    Affects Versions: 1.3.0-beta2, 1.3.0-beta1
            Reporter: Eelco Hillenius
            Assignee: Eelco Hillenius
            Priority: Critical
             Fix For: 1.3.0-beta3


I'm not sure how long we've had this, but I bumped my head against the fact that if you provide invalid keys (or missing) for variable substitution you get a big fat error page. That is fine for development but absolutely not fine for production/ when resource setting throwExceptionOnMissingResource is false. Even though the name of this setting does not cover missing/ wrong keys, it has the same goal: when true, it fails fast so that when you're developing you'll have to fix it if you want to go on, but when in production, such errors *should never* cause the application to stop functioning.

It looks to me like

Index: /Users/eelcohillenius/Documents/workspace_wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
===================================================================
--- /Users/eelcohillenius/Documents/workspace_wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java	(revision 567432)
+++ /Users/eelcohillenius/Documents/workspace_wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java	(working copy)
@@ -26,6 +26,7 @@
 import java.util.Locale;
 import java.util.Map;
 
+import org.apache.wicket.Application;
 import org.apache.wicket.Component;
 import org.apache.wicket.Localizer;
 import org.apache.wicket.MarkupContainer;
@@ -196,7 +197,8 @@
 		 */
 		public String substitute(String string, Map vars) throws IllegalStateException
 		{
-			return new MapVariableInterpolator(string, addDefaultVars(vars), true).toString();
+			return new MapVariableInterpolator(string, addDefaultVars(vars), Application.get()
+					.getResourceSettings().getThrowExceptionOnMissingResource()).toString();
 		}
 
 		/**

is the best fix.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (WICKET-863) don't throw exceptions when missing keys for var substitution when throwExceptionOnMissingResource setting is false

Posted by "Eelco Hillenius (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eelco Hillenius resolved WICKET-863.
------------------------------------

    Resolution: Fixed

> don't throw exceptions when missing keys for var substitution when throwExceptionOnMissingResource setting is false
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-863
>                 URL: https://issues.apache.org/jira/browse/WICKET-863
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 1.3.0-beta1, 1.3.0-beta2
>            Reporter: Eelco Hillenius
>            Assignee: Eelco Hillenius
>            Priority: Critical
>             Fix For: 1.3.0-beta3
>
>
> I'm not sure how long we've had this, but I bumped my head against the fact that if you provide invalid keys (or missing) for variable substitution you get a big fat error page. That is fine for development but absolutely not fine for production/ when resource setting throwExceptionOnMissingResource is false. Even though the name of this setting does not cover missing/ wrong keys, it has the same goal: when true, it fails fast so that when you're developing you'll have to fix it if you want to go on, but when in production, such errors *should never* cause the application to stop functioning.
> It looks to me like
> Index: /Users/eelcohillenius/Documents/workspace_wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
> ===================================================================
> --- /Users/eelcohillenius/Documents/workspace_wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java	(revision 567432)
> +++ /Users/eelcohillenius/Documents/workspace_wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java	(working copy)
> @@ -26,6 +26,7 @@
>  import java.util.Locale;
>  import java.util.Map;
>  
> +import org.apache.wicket.Application;
>  import org.apache.wicket.Component;
>  import org.apache.wicket.Localizer;
>  import org.apache.wicket.MarkupContainer;
> @@ -196,7 +197,8 @@
>  		 */
>  		public String substitute(String string, Map vars) throws IllegalStateException
>  		{
> -			return new MapVariableInterpolator(string, addDefaultVars(vars), true).toString();
> +			return new MapVariableInterpolator(string, addDefaultVars(vars), Application.get()
> +					.getResourceSettings().getThrowExceptionOnMissingResource()).toString();
>  		}
>  
>  		/**
> is the best fix.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.