You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2017/06/13 12:09:53 UTC

[1/2] incubator-freemarker git commit: TemplateClassResolver.UNRESTRICTED_RESOLVER and ALLOWS_NOTHING_RESOLVER was renamed to UNRESTRICTED and ALLOW_NOTHING. Also the String setting name "allows_nothing" and "allowsNothing" were renamed to "allow_nothing

Repository: incubator-freemarker
Updated Branches:
  refs/heads/3 05f297590 -> 5799df34e


TemplateClassResolver.UNRESTRICTED_RESOLVER and ALLOWS_NOTHING_RESOLVER was renamed to UNRESTRICTED and ALLOW_NOTHING. Also the String setting name "allows_nothing" and "allowsNothing" were renamed to "allow_nothing" and "allowNothing".


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

Branch: refs/heads/3
Commit: 6fa23374a62cb55c9241bf16a8b7a6e99cd6ae71
Parents: 05f2975
Author: ddekany <dd...@apache.org>
Authored: Tue Jun 13 14:02:06 2017 +0200
Committer: ddekany <dd...@apache.org>
Committed: Tue Jun 13 14:02:06 2017 +0200

----------------------------------------------------------------------
 FM3-CHANGE-LOG.txt                              |  5 ++++-
 .../core/ObjectBuilderSettingsTest.java         |  4 ++--
 .../core/TemplateConfigurationTest.java         |  2 +-
 .../freemarker/core/templatesuite/testcases.xml |  2 +-
 .../apache/freemarker/core/Configuration.java   |  2 +-
 .../core/MutableProcessingConfiguration.java    | 20 +++++++++++++-------
 .../core/ProcessingConfiguration.java           |  4 ++--
 .../freemarker/core/TemplateClassResolver.java  |  4 ++--
 .../core/util/OptInTemplateClassResolver.java   |  4 ++--
 9 files changed, 28 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/6fa23374/FM3-CHANGE-LOG.txt
----------------------------------------------------------------------
diff --git a/FM3-CHANGE-LOG.txt b/FM3-CHANGE-LOG.txt
index a63f5ef..dbba17c 100644
--- a/FM3-CHANGE-LOG.txt
+++ b/FM3-CHANGE-LOG.txt
@@ -275,4 +275,7 @@ the FreeMarer 3 changelog here:
     DefaultTemplateNameFormat24 was renamed to DefaultTemplateNameFormat.
 - 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
+  caller is responsible for either logging it or letting it bubble up.
+- TemplateClassResolver.UNRESTRICTED_RESOLVER and ALLOWS_NOTHING_RESOLVER was renamed
+  to UNRESTRICTED and ALLOW_NOTHING. Also the String setting name "allows_nothing" and
+  "allowsNothing" were renamed to "allow_nothing" and "allowNothing".
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/6fa23374/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 2f2d307..a618aa2 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
@@ -395,7 +395,7 @@ public class ObjectBuilderSettingsTest {
             props.setProperty(Configuration.ExtendableBuilder.TEMPLATE_CACHE_STORAGE_KEY,
                     "soft: 500, strong: 100");
             props.setProperty(MutableProcessingConfiguration.NEW_BUILTIN_CLASS_RESOLVER_KEY,
-                    "allows_nothing");
+                    "allow_nothing");
             cfgB.setSettings(props);
             assertEquals(DefaultObjectWrapper.class, cfgB.getObjectWrapper().getClass());
             assertEquals(1, ((DummyArithmeticEngine) cfgB.getArithmeticEngine()).getX());
@@ -403,7 +403,7 @@ public class ObjectBuilderSettingsTest {
             assertEquals(Configuration.VERSION_3_0_0,
                     ((DefaultObjectWrapper) cfgB.getObjectWrapper()).getIncompatibleImprovements());
             assertEquals(500, ((MruCacheStorage) cfgB.getTemplateCacheStorage()).getSoftSizeLimit());
-            assertEquals(TemplateClassResolver.ALLOWS_NOTHING_RESOLVER, cfgB.getNewBuiltinClassResolver());
+            assertEquals(TemplateClassResolver.ALLOW_NOTHING, cfgB.getNewBuiltinClassResolver());
             assertEquals(StandardCharsets.UTF_8, cfgB.getSourceEncoding());
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/6fa23374/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
index 47002d8..de5a44e 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
@@ -160,7 +160,7 @@ public class TemplateConfigurationTest {
         SETTING_ASSIGNMENTS.put("dateFormat", "yyyy-#DDD");
         SETTING_ASSIGNMENTS.put("dateTimeFormat", "yyyy-#DDD-@HH:mm");
         SETTING_ASSIGNMENTS.put("locale", NON_DEFAULT_LOCALE);
-        SETTING_ASSIGNMENTS.put("newBuiltinClassResolver", TemplateClassResolver.ALLOWS_NOTHING_RESOLVER);
+        SETTING_ASSIGNMENTS.put("newBuiltinClassResolver", TemplateClassResolver.ALLOW_NOTHING);
         SETTING_ASSIGNMENTS.put("numberFormat", "0.0000");
         SETTING_ASSIGNMENTS.put("objectWrapper",
                 new RestrictedObjectWrapper.Builder(Configuration.VERSION_3_0_0).build());

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/6fa23374/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/testcases.xml
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/testcases.xml b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/testcases.xml
index 159266b..958ff0e 100644
--- a/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/testcases.xml
+++ b/freemarker-core-test/src/test/resources/org/apache/freemarker/core/templatesuite/testcases.xml
@@ -177,7 +177,7 @@ Note that for the incompatible_improvements setting you can specify a list of ve
       <setting new_builtin_class_resolver="unrestricted"/>
    </testCase>   
    <testCase name="new-allowsnothing" template="new-defaultresolver.ftl">
-      <setting new_builtin_class_resolver="allows_nothing"/>
+      <setting new_builtin_class_resolver="allow_nothing"/>
    </testCase>   
    <testCase name="new-optin">
       <setting new_builtin_class_resolver="

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/6fa23374/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 3ae0567..721acb5 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
@@ -2739,7 +2739,7 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc
 
         @Override
         protected TemplateClassResolver getDefaultNewBuiltinClassResolver() {
-            return TemplateClassResolver.UNRESTRICTED_RESOLVER;
+            return TemplateClassResolver.UNRESTRICTED;
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/6fa23374/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
index 97f0e2c..3324a78 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
@@ -1490,9 +1490,9 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
      *       The value must be one of these (ignore the quotation marks):
      *       <ol>
      *         <li><p>{@code "unrestricted"}:
-     *             Use {@link TemplateClassResolver#UNRESTRICTED_RESOLVER}
-     *         <li><p>{@code "allows_nothing"}:
-     *             Use {@link TemplateClassResolver#ALLOWS_NOTHING_RESOLVER}
+     *             Use {@link TemplateClassResolver#UNRESTRICTED}
+     *         <li><p>{@code "allow_nothing"}:
+     *             Use {@link TemplateClassResolver#ALLOW_NOTHING}
      *         <li><p>Something that contains colon will use
      *             {@link OptInTemplateClassResolver} and is expected to
      *             store comma separated values (possibly quoted) segmented
@@ -1515,7 +1515,7 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
      *                   {@code lib/foo/bar.ftl}) and template {@code safe.ftl}
      *                   (that does not match {@code foo/safe.ftl}, only
      *                   exactly {@code safe.ftl}) to instantiate anything
-     *                   that {@link TemplateClassResolver#UNRESTRICTED_RESOLVER} allows.
+     *                   that {@link TemplateClassResolver#UNRESTRICTED} allows.
      *               <tr>
      *                 <td>
      *                   {@code allowed_classes: com.example.C1, com.example.C2}
@@ -1850,9 +1850,9 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
             } else if (NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE.equals(name)
                     || NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE.equals(name)) {
                 if ("unrestricted".equals(value)) {
-                    setNewBuiltinClassResolver(TemplateClassResolver.UNRESTRICTED_RESOLVER);
-                } else if ("allows_nothing".equals(value) || "allowsNothing".equals(value)) {
-                    setNewBuiltinClassResolver(TemplateClassResolver.ALLOWS_NOTHING_RESOLVER);
+                    setNewBuiltinClassResolver(TemplateClassResolver.UNRESTRICTED);
+                } else if ("allow_nothing".equals(value) || "allowNothing".equals(value)) {
+                    setNewBuiltinClassResolver(TemplateClassResolver.ALLOW_NOTHING);
                 } else if (value.indexOf(":") != -1) {
                     List<_KeyValuePair<String, List<String>>> segments = parseAsSegmentedList(value);
                     Set allowedClasses = null;
@@ -1873,6 +1873,12 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
                     }
                     setNewBuiltinClassResolver(
                             new OptInTemplateClassResolver(allowedClasses, trustedTemplates));
+                } else if ("allows_nothing".equals(value)) {
+                    throw new InvalidSettingValueException(
+                            name, value, "The correct value would be: allow_nothing");
+                } else if ("allowsNothing".equals(value)) {
+                    throw new InvalidSettingValueException(
+                            name, value, "The correct value would be: allowNothing");
                 } else if (value.indexOf('.') != -1) {
                     setNewBuiltinClassResolver((TemplateClassResolver) _ObjectBuilderSettingEvaluator.eval(
                                     value, TemplateClassResolver.class, false,

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/6fa23374/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 f600643..030511d 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
@@ -477,8 +477,8 @@ public interface ProcessingConfiguration {
      * The {@link TemplateClassResolver} that is used when the <code>new</code> built-in is called in a template. That
      * is, when a template contains the <code>"com.example.SomeClassName"?new</code> expression, this object will be
      * called to resolve the <code>"com.example.SomeClassName"</code> string to a class. The default value is {@link
-     * TemplateClassResolver#UNRESTRICTED_RESOLVER}. If you allow users to upload templates, it's important to use a
-     * custom restrictive {@link TemplateClassResolver} or {@link TemplateClassResolver#ALLOWS_NOTHING_RESOLVER}.
+     * TemplateClassResolver#UNRESTRICTED}. If you allow users to upload templates, it's important to use a
+     * custom restrictive {@link TemplateClassResolver} or {@link TemplateClassResolver#ALLOW_NOTHING}.
      */
     TemplateClassResolver getNewBuiltinClassResolver();
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/6fa23374/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateClassResolver.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateClassResolver.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateClassResolver.java
index c6146d5..415c66c 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateClassResolver.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateClassResolver.java
@@ -36,7 +36,7 @@ public interface TemplateClassResolver {
     /**
      * Simply calls {@link _ClassUtil#forName(String)}.
      */
-    TemplateClassResolver UNRESTRICTED_RESOLVER = new TemplateClassResolver() {
+    TemplateClassResolver UNRESTRICTED = new TemplateClassResolver() {
 
         @Override
         public Class resolve(String className, Environment env, Template template)
@@ -53,7 +53,7 @@ public interface TemplateClassResolver {
     /**
      * Doesn't allow resolving any classes.
      */
-    TemplateClassResolver ALLOWS_NOTHING_RESOLVER =  new TemplateClassResolver() {
+    TemplateClassResolver ALLOW_NOTHING =  new TemplateClassResolver() {
 
         @Override
         public Class resolve(String className, Environment env, Template template)

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/6fa23374/freemarker-core/src/main/java/org/apache/freemarker/core/util/OptInTemplateClassResolver.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/OptInTemplateClassResolver.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/OptInTemplateClassResolver.java
index e1edfcb..faf8e73 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/OptInTemplateClassResolver.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/OptInTemplateClassResolver.java
@@ -52,7 +52,7 @@ public class OptInTemplateClassResolver implements TemplateClassResolver {
      * @param trustedTemplates the {@link List} of {@link String}-s that contains
      *     template names (i.e., template root directory relative paths)
      *     and prefix patterns (like <code>"include/*"</code>) of templates
-     *     for which {@link TemplateClassResolver#UNRESTRICTED_RESOLVER} will be 
+     *     for which {@link TemplateClassResolver#UNRESTRICTED} will be
      *     used (which is not as safe as {@link OptInTemplateClassResolver}).
      *     The list items need not start with <code>"/"</code> (if they are, it
      *     will be removed). List items ending with <code>"*"</code> are treated
@@ -98,7 +98,7 @@ public class OptInTemplateClassResolver implements TemplateClassResolver {
         if (templateName != null
                 && (trustedTemplateNames.contains(templateName)
                         || hasMatchingPrefix(templateName))) {
-            return TemplateClassResolver.UNRESTRICTED_RESOLVER.resolve(className, env, template);
+            return TemplateClassResolver.UNRESTRICTED.resolve(className, env, template);
         } else {
             if (!allowedClasses.contains(className)) {
                 throw new _MiscTemplateException(env,


[2/2] incubator-freemarker git commit: TemplateExceptionHandler.IGNORE_HANDLER, RETHROW_HANDLER, DEBUG_HANDLER and HTLM_DEBUG_HANDLER was renamed to IGNORE, RETHROW, DEBUG and HTML_DEBUG.

Posted by dd...@apache.org.
TemplateExceptionHandler.IGNORE_HANDLER, RETHROW_HANDLER, DEBUG_HANDLER and HTLM_DEBUG_HANDLER was renamed to IGNORE, RETHROW, DEBUG and HTML_DEBUG.


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

Branch: refs/heads/3
Commit: 5799df34e71515bfdaf78596bccca395979af603
Parents: 6fa2337
Author: ddekany <dd...@apache.org>
Authored: Tue Jun 13 14:09:20 2017 +0200
Committer: ddekany <dd...@apache.org>
Committed: Tue Jun 13 14:09:20 2017 +0200

----------------------------------------------------------------------
 FM3-CHANGE-LOG.txt                                  | 10 ++++++----
 .../apache/freemarker/core/ConfigurationTest.java   |  8 ++++----
 .../freemarker/core/ObjectBuilderSettingsTest.java  |  2 +-
 .../freemarker/core/TemplateConfigurationTest.java  |  2 +-
 .../org/apache/freemarker/core/Configuration.java   |  2 +-
 .../core/MutableProcessingConfiguration.java        | 16 ++++++++--------
 .../freemarker/core/ProcessingConfiguration.java    |  8 ++++----
 .../freemarker/core/TemplateExceptionHandler.java   |  8 ++++----
 .../freemarker/servlet/FreemarkerServlet.java       | 10 +++++-----
 .../FreemarkerServletConfigurationBuilder.java      |  2 +-
 .../servlet/jsp/RealServletContainertTest.java      |  6 +++---
 11 files changed, 38 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/5799df34/FM3-CHANGE-LOG.txt
----------------------------------------------------------------------
diff --git a/FM3-CHANGE-LOG.txt b/FM3-CHANGE-LOG.txt
index dbba17c..d464d33 100644
--- a/FM3-CHANGE-LOG.txt
+++ b/FM3-CHANGE-LOG.txt
@@ -259,6 +259,11 @@ the FreeMarer 3 changelog here:
   - FM2 Configuration.${c}_NAMING_CONVENTION with NamingConvention.${c}
   - FM2 Configuration.${c}_TAG_SYNTAX with TagSyntax.${c}
   - FM2 Configuration.${c}_AUTO_ESCAPING_POLICY with AutoEscapingPolicy.${c}
+- TemplateClassResolver.UNRESTRICTED_RESOLVER and ALLOWS_NOTHING_RESOLVER was renamed
+  to UNRESTRICTED and ALLOW_NOTHING. Also the String setting name "allows_nothing" and
+  "allowsNothing" were renamed to "allow_nothing" and "allowNothing".
+- TemplateExceptionHandler.IGNORE_HANDLER, RETHROW_HANDLER, DEBUG_HANDLER and
+  HTLM_DEBUG_HANDLER was renamed to IGNORE, RETHROW, DEBUG and HTML_DEBUG  
 - Renamed the `cacheStorage` Configuration setting to `templateCacheStorage`.
 - Renamed the `localizedLookup` Configuration setting to `localizedLookup`.
 - Changed the defaults of some Configuration settings:
@@ -267,7 +272,7 @@ the FreeMarer 3 changelog here:
     like applications could break when moved to another server if the application
     was unwillingly relying on the default.
   - Changed the default of templateExceptionHandler (template_exception_hander) to
-    TemplateExceptionHandler.RETHROW_HANDLER from DEBUG_HANDLER
+    TemplateExceptionHandler.RETHROW from DEBUG
   - Changed the default of sqlDateAndTimeTimeZone (sql_date_and_time_time_zone) to
     TimeZone.default() from null (where null meant falling back to the timeZone setting value)
   - Changed the default of templateNameFormat (template_name_format) to what's equivalent to
@@ -276,6 +281,3 @@ the FreeMarer 3 changelog here:
 - 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.
-- TemplateClassResolver.UNRESTRICTED_RESOLVER and ALLOWS_NOTHING_RESOLVER was renamed
-  to UNRESTRICTED and ALLOW_NOTHING. Also the String setting name "allows_nothing" and
-  "allowsNothing" were renamed to "allow_nothing" and "allowNothing".
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/5799df34/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 a010828..913b388 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
@@ -129,16 +129,16 @@ public class ConfigurationTest {
         }
         
         assertFalse(cfgB.isTemplateExceptionHandlerSet());
-        assertSame(TemplateExceptionHandler.RETHROW_HANDLER, cfgB.getTemplateExceptionHandler());
+        assertSame(TemplateExceptionHandler.RETHROW, cfgB.getTemplateExceptionHandler());
         //
-        cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.DEBUG_HANDLER);
+        cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.DEBUG);
         assertTrue(cfgB.isTemplateExceptionHandlerSet());
-        assertSame(TemplateExceptionHandler.DEBUG_HANDLER, cfgB.getTemplateExceptionHandler());
+        assertSame(TemplateExceptionHandler.DEBUG, cfgB.getTemplateExceptionHandler());
         //
         for (int i = 0; i < 2; i++) {
             cfgB.unsetTemplateExceptionHandler();
             assertFalse(cfgB.isTemplateExceptionHandlerSet());
-            assertSame(TemplateExceptionHandler.RETHROW_HANDLER, cfgB.getTemplateExceptionHandler());
+            assertSame(TemplateExceptionHandler.RETHROW, cfgB.getTemplateExceptionHandler());
         }
         
         assertFalse(cfgB.isTemplateLoaderSet());

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/5799df34/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 a618aa2..cc02d3f 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
@@ -415,7 +415,7 @@ public class ObjectBuilderSettingsTest {
             cfgB.setSettings(props);
             assertEquals(DefaultObjectWrapper.class, cfgB.getObjectWrapper().getClass());
             assertSame(BigDecimalArithmeticEngine.INSTANCE, cfgB.getArithmeticEngine());
-            assertSame(TemplateExceptionHandler.DEBUG_HANDLER, cfgB.getTemplateExceptionHandler());
+            assertSame(TemplateExceptionHandler.DEBUG, cfgB.getTemplateExceptionHandler());
             assertEquals(Configuration.VERSION_3_0_0,
                     ((DefaultObjectWrapper) cfgB.getObjectWrapper()).getIncompatibleImprovements());
         }

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/5799df34/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
index de5a44e..4b6d4b3 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/TemplateConfigurationTest.java
@@ -166,7 +166,7 @@ public class TemplateConfigurationTest {
                 new RestrictedObjectWrapper.Builder(Configuration.VERSION_3_0_0).build());
         SETTING_ASSIGNMENTS.put("outputEncoding", StandardCharsets.UTF_16);
         SETTING_ASSIGNMENTS.put("showErrorTips", false);
-        SETTING_ASSIGNMENTS.put("templateExceptionHandler", TemplateExceptionHandler.IGNORE_HANDLER);
+        SETTING_ASSIGNMENTS.put("templateExceptionHandler", TemplateExceptionHandler.IGNORE);
         SETTING_ASSIGNMENTS.put("timeFormat", "@HH:mm");
         SETTING_ASSIGNMENTS.put("timeZone", NON_DEFAULT_TZ);
         SETTING_ASSIGNMENTS.put("arithmeticEngine", ConservativeArithmeticEngine.INSTANCE);

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/5799df34/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 721acb5..87a9a92 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
@@ -2669,7 +2669,7 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc
 
         @Override
         protected TemplateExceptionHandler getDefaultTemplateExceptionHandler() {
-            return TemplateExceptionHandler.RETHROW_HANDLER;
+            return TemplateExceptionHandler.RETHROW;
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/5799df34/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
index 3324a78..843e607 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
@@ -1405,10 +1405,10 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
      *       <br>String value: If the value contains dot, then it's interpreted as an <a href="#fm_obe">object builder
      *       expression</a>.
      *       If the value does not contain dot, then it must be one of these predefined values (case insensitive):
-     *       {@code "rethrow"} (means {@link TemplateExceptionHandler#RETHROW_HANDLER}),
-     *       {@code "debug"} (means {@link TemplateExceptionHandler#DEBUG_HANDLER}),
-     *       {@code "html_debug"} (means {@link TemplateExceptionHandler#HTML_DEBUG_HANDLER}),
-     *       {@code "ignore"} (means {@link TemplateExceptionHandler#IGNORE_HANDLER}),
+     *       {@code "rethrow"} (means {@link TemplateExceptionHandler#RETHROW}),
+     *       {@code "debug"} (means {@link TemplateExceptionHandler#DEBUG}),
+     *       {@code "html_debug"} (means {@link TemplateExceptionHandler#HTML_DEBUG}),
+     *       {@code "ignore"} (means {@link TemplateExceptionHandler#IGNORE}),
      *       {@code "default"} (only allowed for {@link Configuration} instances) for the default.
      *       
      *   <li><p>{@code "arithmetic_engine"}:
@@ -1797,16 +1797,16 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
                 if (value.indexOf('.') == -1) {
                     if ("debug".equalsIgnoreCase(value)) {
                         setTemplateExceptionHandler(
-                                TemplateExceptionHandler.DEBUG_HANDLER);
+                                TemplateExceptionHandler.DEBUG);
                     } else if ("html_debug".equalsIgnoreCase(value) || "htmlDebug".equals(value)) {
                         setTemplateExceptionHandler(
-                                TemplateExceptionHandler.HTML_DEBUG_HANDLER);
+                                TemplateExceptionHandler.HTML_DEBUG);
                     } else if ("ignore".equalsIgnoreCase(value)) {
                         setTemplateExceptionHandler(
-                                TemplateExceptionHandler.IGNORE_HANDLER);
+                                TemplateExceptionHandler.IGNORE);
                     } else if ("rethrow".equalsIgnoreCase(value)) {
                         setTemplateExceptionHandler(
-                                TemplateExceptionHandler.RETHROW_HANDLER);
+                                TemplateExceptionHandler.RETHROW);
                     } else if (DEFAULT_VALUE.equalsIgnoreCase(value)
                             && this instanceof Configuration.ExtendableBuilder) {
                         unsetTemplateExceptionHandler();

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/5799df34/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 030511d..324bb3d 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,15 +399,15 @@ public interface ProcessingConfiguration {
 
     /**
      * The exception handler used to handle exceptions occurring inside templates.
-     * Its {@link Configuration}-level default is {@link TemplateExceptionHandler#RETHROW_HANDLER}. The recommended
+     * Its {@link Configuration}-level default is {@link TemplateExceptionHandler#RETHROW}. The recommended
      * values are:
      *
      * <ul>
-     *   <li>In production systems: {@link TemplateExceptionHandler#RETHROW_HANDLER}
+     *   <li>In production systems: {@link TemplateExceptionHandler#RETHROW}
      *   <li>During development of HTML templates, if you want to the error directly in the browser:
-     *   {@link TemplateExceptionHandler#HTML_DEBUG_HANDLER}
+     *   {@link TemplateExceptionHandler#HTML_DEBUG}
      *   <li>During development of non-HTML templates, if you want to the error directly in the output:
-     *   {@link TemplateExceptionHandler#DEBUG_HANDLER}
+     *   {@link TemplateExceptionHandler#DEBUG}
      * </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/5799df34/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateExceptionHandler.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateExceptionHandler.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateExceptionHandler.java
index aea6c0b..4e5e0b7 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateExceptionHandler.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateExceptionHandler.java
@@ -54,7 +54,7 @@ public interface TemplateExceptionHandler {
     * executing. It does nothing to handle the event. Note that the exception is still logged, as with all
     * other {@link TemplateExceptionHandler}-s.
     */
-    TemplateExceptionHandler IGNORE_HANDLER = new TemplateExceptionHandler() {
+    TemplateExceptionHandler IGNORE = new TemplateExceptionHandler() {
         @Override
         public void handleTemplateException(TemplateException te, Environment env, Writer out) {
             // Do nothing
@@ -65,7 +65,7 @@ public interface TemplateExceptionHandler {
      * {@link TemplateExceptionHandler} that simply re-throws the exception; this should be used in most production
      * systems.
      */
-    TemplateExceptionHandler RETHROW_HANDLER = new TemplateExceptionHandler() {
+    TemplateExceptionHandler RETHROW = new TemplateExceptionHandler() {
         @Override
         public void handleTemplateException(TemplateException te, Environment env, Writer out)
                 throws TemplateException {
@@ -77,7 +77,7 @@ public interface TemplateExceptionHandler {
      * {@link TemplateExceptionHandler} useful when you developing non-HTML templates. This handler
      * outputs the stack trace information to the client and then re-throws the exception.
      */
-    TemplateExceptionHandler DEBUG_HANDLER = new TemplateExceptionHandler() {
+    TemplateExceptionHandler DEBUG = new TemplateExceptionHandler() {
         @Override
         public void handleTemplateException(TemplateException te, Environment env, Writer out)
                 throws TemplateException {
@@ -97,7 +97,7 @@ public interface TemplateExceptionHandler {
      * outputs the stack trace information to the client, formatting it so that it will be usually well readable
      * in the browser, and then re-throws the exception.
      */
-    TemplateExceptionHandler HTML_DEBUG_HANDLER = new TemplateExceptionHandler() {
+    TemplateExceptionHandler HTML_DEBUG = new TemplateExceptionHandler() {
         @Override
         public void handleTemplateException(TemplateException te, Environment env, Writer out)
                 throws TemplateException {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/5799df34/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java
index 14e0ac2..3212fb4 100644
--- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java
+++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java
@@ -605,13 +605,13 @@ public class FreemarkerServlet extends HttpServlet {
                     }
     
                     if (DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER_RETHROW.equals(value)) {
-                        cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
+                        cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW);
                     } else if (DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER_DEBUG.equals(value)) {
-                        cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.DEBUG_HANDLER);
+                        cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.DEBUG);
                     } else if (DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER_HTML_DEBUG.equals(value)) {
-                        cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.HTML_DEBUG_HANDLER);
+                        cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.HTML_DEBUG);
                     } else if (DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER_IGNORE.equals(value)) {
-                        cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
+                        cfgB.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE);
                     } else {
                         throw new InitParamValueException(DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER, value,
                                 "Not one of the supported values.");
@@ -869,7 +869,7 @@ public class FreemarkerServlet extends HttpServlet {
         } catch (TemplateException e) {
             final TemplateExceptionHandler teh = config.getTemplateExceptionHandler();
             // Ensure that debug handler responses aren't rolled back:
-            if (teh == TemplateExceptionHandler.HTML_DEBUG_HANDLER || teh == TemplateExceptionHandler.DEBUG_HANDLER
+            if (teh == TemplateExceptionHandler.HTML_DEBUG || teh == TemplateExceptionHandler.DEBUG
                     || teh.getClass().getName().indexOf("Debug") != -1) {
                 response.flushBuffer();
             }

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/5799df34/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServletConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServletConfigurationBuilder.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServletConfigurationBuilder.java
index ecc1dff..8676cda 100644
--- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServletConfigurationBuilder.java
+++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServletConfigurationBuilder.java
@@ -46,7 +46,7 @@ public class FreemarkerServletConfigurationBuilder<SelfT extends FreemarkerServl
     @Override
     protected TemplateExceptionHandler getDefaultTemplateExceptionHandler() {
         // TODO [FM3] Not a good default. Should depend on if we are in development mode or production mode.
-        return TemplateExceptionHandler.HTML_DEBUG_HANDLER;
+        return TemplateExceptionHandler.HTML_DEBUG;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/5799df34/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 a2e5f63..860f6bd 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
@@ -384,7 +384,7 @@ public class RealServletContainertTest extends WebAppTestCase {
         protected void doAssertions(Configuration cfg) {
             assertEquals(Configuration.VERSION_3_0_0, cfg.getIncompatibleImprovements());
             
-            assertSame(cfg.getTemplateExceptionHandler(), TemplateExceptionHandler.HTML_DEBUG_HANDLER);
+            assertSame(cfg.getTemplateExceptionHandler(), TemplateExceptionHandler.HTML_DEBUG);
 
             {
                 ObjectWrapper ow = cfg.getObjectWrapper();
@@ -411,7 +411,7 @@ public class RealServletContainertTest extends WebAppTestCase {
 
                 @Override
                 protected TemplateExceptionHandler getDefaultTemplateExceptionHandler() {
-                    return TemplateExceptionHandler.HTML_DEBUG_HANDLER;
+                    return TemplateExceptionHandler.HTML_DEBUG;
                 }
 
                 @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.HTML_DEBUG_HANDLER);
+            assertSame(cfg.getTemplateExceptionHandler(), TemplateExceptionHandler.HTML_DEBUG);
             
             assertEquals("Y,N", cfg.getBooleanFormat());