Repository: incubator-freemarker
Updated Branches:
  refs/heads/3 53c2fbac8 -> 0a60fc618


Changed the default of templateExceptionHandler (template_exception_hander) to 
TemplateExceptionHandler.RETHROW_HANDLER.


Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/0a60fc61
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/0a60fc61
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/0a60fc61

Branch: refs/heads/3
Commit: 0a60fc618769efb2af073a97f39fef3e5c45648e
Parents: 53c2fba
Author: ddekany <[email protected]>
Authored: Mon Jun 12 23:13:05 2017 +0200
Committer: ddekany <[email protected]>
Committed: Mon Jun 12 23:13:05 2017 +0200

----------------------------------------------------------------------
 FM3-CHANGE-LOG.txt                                 |  3 ++-
 .../apache/freemarker/core/ConfigurationTest.java  |  8 ++++----
 .../freemarker/core/ObjectBuilderSettingsTest.java |  4 ++--
 .../org/apache/freemarker/core/Configuration.java  | 17 +++++------------
 .../freemarker/core/ProcessingConfiguration.java   |  8 +++++---
 .../manual/examples/GettingStartedExample.java     |  2 --
 .../servlet/jsp/RealServletContainertTest.java     |  4 ++--
 7 files changed, 20 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/0a60fc61/FM3-CHANGE-LOG.txt
----------------------------------------------------------------------
diff --git a/FM3-CHANGE-LOG.txt b/FM3-CHANGE-LOG.txt
index 1970caa..a8f3089 100644
--- a/FM3-CHANGE-LOG.txt
+++ b/FM3-CHANGE-LOG.txt
@@ -266,7 +266,8 @@ the FreeMarer 3 changelog here:
     Using the platform default charset was proven to be fragile in practice,
     like applications could break when moved to another server if the 
application
     was unwillingly relying on the default.
-  - Changed the default of logTemplateExceptions to false.
+  - Changed the default of templateExceptionHandler 
(template_exception_hander) to
+    TemplateExceptionHandler.RETHROW_HANDLER
 - Removed the logTemplateExceptions (log_template_exceptions) setting. 
FreeMarker now
   behaves as if it was false. When a FreeMarker method throws an exception, the
   caller is responsible for either logging it or letting it bubble up.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/0a60fc61/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java
----------------------------------------------------------------------
diff --git 
a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java
 
b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java
index 395e192..d92ced4 100644
--- 
a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java
+++ 
b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConfigurationTest.java
@@ -130,16 +130,16 @@ public class ConfigurationTest {
         }
         
         assertFalse(cfgB.isTemplateExceptionHandlerSet());
-        assertSame(TemplateExceptionHandler.DEBUG_HANDLER, 
cfgB.getTemplateExceptionHandler());
+        assertSame(TemplateExceptionHandler.RETHROW_HANDLER, 
cfgB.getTemplateExceptionHandler());
         //
-        
cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
+        
cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.DEBUG_HANDLER);
         assertTrue(cfgB.isTemplateExceptionHandlerSet());
-        assertSame(TemplateExceptionHandler.RETHROW_HANDLER, 
cfgB.getTemplateExceptionHandler());
+        assertSame(TemplateExceptionHandler.DEBUG_HANDLER, 
cfgB.getTemplateExceptionHandler());
         //
         for (int i = 0; i < 2; i++) {
             cfgB.unsetTemplateExceptionHandler();
             assertFalse(cfgB.isTemplateExceptionHandlerSet());
-            assertSame(TemplateExceptionHandler.DEBUG_HANDLER, 
cfgB.getTemplateExceptionHandler());
+            assertSame(TemplateExceptionHandler.RETHROW_HANDLER, 
cfgB.getTemplateExceptionHandler());
         }
         
         assertFalse(cfgB.isTemplateLoaderSet());

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/0a60fc61/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java
----------------------------------------------------------------------
diff --git 
a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java
 
b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java
index 24fe972..2f2d307 100644
--- 
a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java
+++ 
b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ObjectBuilderSettingsTest.java
@@ -411,11 +411,11 @@ public class ObjectBuilderSettingsTest {
             Properties props = new Properties();
             
props.setProperty(Configuration.ExtendableBuilder.OBJECT_WRAPPER_KEY, 
"Default");
             
props.setProperty(MutableProcessingConfiguration.ARITHMETIC_ENGINE_KEY, 
"bigdecimal");
-            
props.setProperty(MutableProcessingConfiguration.TEMPLATE_EXCEPTION_HANDLER_KEY,
 "rethrow");
+            
props.setProperty(MutableProcessingConfiguration.TEMPLATE_EXCEPTION_HANDLER_KEY,
 "debug");
             cfgB.setSettings(props);
             assertEquals(DefaultObjectWrapper.class, 
cfgB.getObjectWrapper().getClass());
             assertSame(BigDecimalArithmeticEngine.INSTANCE, 
cfgB.getArithmeticEngine());
-            assertSame(TemplateExceptionHandler.RETHROW_HANDLER, 
cfgB.getTemplateExceptionHandler());
+            assertSame(TemplateExceptionHandler.DEBUG_HANDLER, 
cfgB.getTemplateExceptionHandler());
             assertEquals(Configuration.VERSION_3_0_0,
                     ((DefaultObjectWrapper) 
cfgB.getObjectWrapper()).getIncompatibleImprovements());
         }

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/0a60fc61/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
----------------------------------------------------------------------
diff --git 
a/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java 
b/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
index d00d0d7..5f86a8a 100644
--- 
a/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
+++ 
b/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
@@ -127,17 +127,10 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
  *  {@link Template Template} myTemplate = cfg.{@link #getTemplate(String) 
getTemplate}("myTemplate.html");
  *  myTemplate.{@link Template#process(Object, java.io.Writer) 
process}(dataModel, out);</pre>
  * 
- * <p>A couple of settings that you should not leave on its default value are:
- * <ul>
- *   <li>{@link #getTemplateLoader templateLoader}: The default value is 
{@code null}, so you won't be able to load
- *       anything.
- *   <li>{@link #getSourceEncoding sourceEncoding}: The default value is 
system dependent, which makes it
- *       fragile on servers, so it should be set explicitly, like to "UTF-8" 
nowadays. 
- *   <li>{@link #getTemplateExceptionHandler() templateExceptionHandler}: For 
developing
- *       HTML pages, the most convenient value is {@link 
TemplateExceptionHandler#HTML_DEBUG_HANDLER}. For production,
- *       {@link TemplateExceptionHandler#RETHROW_HANDLER} is safer to use.
- * </ul>
- * 
+ * <p>Note that you certainly want to set the {@link #getTemplateLoader 
templateLoader} setting, as its default
+ * value is {@code null}, so you won't be able to load any templates (as 
FreeMarker doesn't know where from should it
+ * load them).
+ *
  * <p>{@link Configuration} is thread-safe and (as of 3.0.0) immutable (apart 
from internal caches).
  *
  * <p>The setting reader methods of this class don't throw {@link 
CoreSettingValueNotSetException}, because all settings
@@ -2680,7 +2673,7 @@ public final class Configuration implements 
TopLevelConfiguration, CustomStateSc
 
         @Override
         protected TemplateExceptionHandler 
getDefaultTemplateExceptionHandler() {
-            return TemplateExceptionHandler.DEBUG_HANDLER; // [FM3] RETHROW;
+            return TemplateExceptionHandler.RETHROW_HANDLER;
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/0a60fc61/freemarker-core/src/main/java/org/apache/freemarker/core/ProcessingConfiguration.java
----------------------------------------------------------------------
diff --git 
a/freemarker-core/src/main/java/org/apache/freemarker/core/ProcessingConfiguration.java
 
b/freemarker-core/src/main/java/org/apache/freemarker/core/ProcessingConfiguration.java
index 085a627..be875a4 100644
--- 
a/freemarker-core/src/main/java/org/apache/freemarker/core/ProcessingConfiguration.java
+++ 
b/freemarker-core/src/main/java/org/apache/freemarker/core/ProcessingConfiguration.java
@@ -399,13 +399,15 @@ public interface ProcessingConfiguration {
 
     /**
      * The exception handler used to handle exceptions occurring inside 
templates.
-     * Its {@link Configuration}-level default is {@link 
TemplateExceptionHandler#DEBUG_HANDLER}. The recommended
+     * Its {@link Configuration}-level default is {@link 
TemplateExceptionHandler#RETHROW_HANDLER}. The recommended
      * values are:
      *
      * <ul>
      *   <li>In production systems: {@link 
TemplateExceptionHandler#RETHROW_HANDLER}
-     *   <li>During development of HTML templates: {@link 
TemplateExceptionHandler#HTML_DEBUG_HANDLER}
-     *   <li>During development of non-HTML templates: {@link 
TemplateExceptionHandler#DEBUG_HANDLER}
+     *   <li>During development of HTML templates, if you want to the error 
directly in the browser:
+     *   {@link TemplateExceptionHandler#HTML_DEBUG_HANDLER}
+     *   <li>During development of non-HTML templates, if you want to the 
error directly in the output:
+     *   {@link TemplateExceptionHandler#DEBUG_HANDLER}
      * </ul>
      *
      * <p>All of these will let the exception propagate further, so that you 
can catch it around

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/0a60fc61/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/GettingStartedExample.java
----------------------------------------------------------------------
diff --git 
a/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/GettingStartedExample.java
 
b/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/GettingStartedExample.java
index a2809a4..8c677db 100644
--- 
a/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/GettingStartedExample.java
+++ 
b/freemarker-manual/src/test/java/org/apache/freemarker/manual/examples/GettingStartedExample.java
@@ -25,7 +25,6 @@ import java.util.Map;
 
 import org.apache.freemarker.core.Configuration;
 import org.apache.freemarker.core.Template;
-import org.apache.freemarker.core.TemplateExceptionHandler;
 import org.apache.freemarker.core.templateresolver.impl.ClassTemplateLoader;
 import org.junit.Test;
 
@@ -39,7 +38,6 @@ public class GettingStartedExample {
         /* Create the configuration singleton (using builder pattern) */
         Configuration cfg = new 
Configuration.Builder(Configuration.VERSION_3_0_0)
                 .templateLoader(new 
ClassTemplateLoader(GettingStartedExample.class, ""))
-                
.templateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER)
                 .build();
 
         /* 
------------------------------------------------------------------------ */    

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/0a60fc61/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
----------------------------------------------------------------------
diff --git 
a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
 
b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
index d881fe8..a2e5f63 100644
--- 
a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
+++ 
b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
@@ -411,7 +411,7 @@ public class RealServletContainertTest extends 
WebAppTestCase {
 
                 @Override
                 protected TemplateExceptionHandler 
getDefaultTemplateExceptionHandler() {
-                    return TemplateExceptionHandler.RETHROW_HANDLER;
+                    return TemplateExceptionHandler.HTML_DEBUG_HANDLER;
                 }
 
                 @Override
@@ -437,7 +437,7 @@ public class RealServletContainertTest extends 
WebAppTestCase {
         protected void doAssertions(Configuration cfg) {
             assertEquals(Configuration.VERSION_3_0_0, 
cfg.getIncompatibleImprovements());
             
-            assertSame(cfg.getTemplateExceptionHandler(), 
TemplateExceptionHandler.RETHROW_HANDLER);
+            assertSame(cfg.getTemplateExceptionHandler(), 
TemplateExceptionHandler.HTML_DEBUG_HANDLER);
             
             assertEquals("Y,N", cfg.getBooleanFormat());
             

Reply via email to