Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id DD627200C92 for ; Mon, 12 Jun 2017 22:52:18 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id DBF15160BD9; Mon, 12 Jun 2017 20:52:18 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 85CF2160BCF for ; Mon, 12 Jun 2017 22:52:17 +0200 (CEST) Received: (qmail 54598 invoked by uid 500); 12 Jun 2017 20:52:15 -0000 Mailing-List: contact notifications-help@freemarker.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@freemarker.incubator.apache.org Delivered-To: mailing list notifications@freemarker.incubator.apache.org Received: (qmail 54587 invoked by uid 99); 12 Jun 2017 20:52:15 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 12 Jun 2017 20:52:15 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 4F7F7C0118 for ; Mon, 12 Jun 2017 20:52:15 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.222 X-Spam-Level: X-Spam-Status: No, score=-4.222 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id meN_dmJM-TFu for ; Mon, 12 Jun 2017 20:52:10 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 4F1065FBB8 for ; Mon, 12 Jun 2017 20:52:09 +0000 (UTC) Received: (qmail 54390 invoked by uid 99); 12 Jun 2017 20:52:08 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 12 Jun 2017 20:52:08 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 3BF6ADFF15; Mon, 12 Jun 2017 20:52:06 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ddekany@apache.org To: notifications@freemarker.incubator.apache.org Message-Id: <8327ac445bad42b992f20310297a1ed4@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: incubator-freemarker git commit: 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 b Date: Mon, 12 Jun 2017 20:52:06 +0000 (UTC) archived-at: Mon, 12 Jun 2017 20:52:19 -0000 Repository: incubator-freemarker Updated Branches: refs/heads/3 34c767555 -> 53c2fbac8 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. Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/53c2fbac Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/53c2fbac Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/53c2fbac Branch: refs/heads/3 Commit: 53c2fbac83d3f7c7e8eb68d48da26e16306832da Parents: 34c7675 Author: ddekany Authored: Mon Jun 12 22:49:20 2017 +0200 Committer: ddekany Committed: Mon Jun 12 22:49:20 2017 +0200 ---------------------------------------------------------------------- FM3-CHANGE-LOG.txt | 3 ++ .../freemarker/core/ConfigurationTest.java | 18 ++++--- .../MutableProcessingConfigurationTest.java | 8 --- .../core/TemplateConfigurationTest.java | 2 - .../model/impl/DefaultObjectWrapperTest.java | 1 - .../apache/freemarker/core/Configuration.java | 21 -------- .../org/apache/freemarker/core/Environment.java | 14 ++---- .../core/MutableProcessingConfiguration.java | 52 -------------------- .../core/ProcessingConfiguration.java | 18 ------- .../org/apache/freemarker/core/Template.java | 10 ---- .../freemarker/core/TemplateConfiguration.java | 23 --------- .../core/TemplateExceptionHandler.java | 5 +- .../manual/examples/GettingStartedExample.java | 3 -- .../FreemarkerServletConfigurationBuilder.java | 6 --- .../servlet/jsp/RealServletContainertTest.java | 11 ++--- 15 files changed, 24 insertions(+), 171 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/FM3-CHANGE-LOG.txt ---------------------------------------------------------------------- diff --git a/FM3-CHANGE-LOG.txt b/FM3-CHANGE-LOG.txt index f6e7a66..1970caa 100644 --- a/FM3-CHANGE-LOG.txt +++ b/FM3-CHANGE-LOG.txt @@ -267,3 +267,6 @@ 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 logTemplateExceptions to false. +- 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/53c2fbac/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 b06035e..395e192 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 @@ -95,21 +95,23 @@ public class ConfigurationTest { @Test public void testUnsetAndIsSet() throws Exception { + // TODO This should automatically test all setting via reflection... + Configuration.ExtendableBuilder cfgB = new Builder(VERSION_3_0_0); - assertFalse(cfgB.isLogTemplateExceptionsSet()); - assertFalse(cfgB.getLogTemplateExceptions()); + assertFalse(cfgB.isAutoEscapingPolicySet()); + assertEquals(AutoEscapingPolicy.ENABLE_IF_DEFAULT, cfgB.getAutoEscapingPolicy()); // - cfgB.setLogTemplateExceptions(true); + cfgB.setAutoEscapingPolicy(AutoEscapingPolicy.DISABLE); { - assertTrue(cfgB.isLogTemplateExceptionsSet()); - assertTrue(cfgB.getLogTemplateExceptions()); + assertTrue(cfgB.isAutoEscapingPolicySet()); + assertEquals(AutoEscapingPolicy.DISABLE, cfgB.getAutoEscapingPolicy()); } // for (int i = 0; i < 2; i++) { - cfgB.unsetLogTemplateExceptions(); - assertFalse(cfgB.isLogTemplateExceptionsSet()); - assertFalse(cfgB.getLogTemplateExceptions()); + cfgB.unsetAutoEscapingPolicy(); + assertFalse(cfgB.isAutoEscapingPolicySet()); + assertEquals(AutoEscapingPolicy.ENABLE_IF_DEFAULT, cfgB.getAutoEscapingPolicy()); } DefaultObjectWrapper dow = new DefaultObjectWrapper.Builder(VERSION_3_0_0).build(); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/freemarker-core-test/src/test/java/org/apache/freemarker/core/MutableProcessingConfigurationTest.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/MutableProcessingConfigurationTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/MutableProcessingConfigurationTest.java index 001f0bc..718bc76 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/MutableProcessingConfigurationTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/MutableProcessingConfigurationTest.java @@ -376,14 +376,6 @@ public class MutableProcessingConfigurationTest { } @Test - public void testSetLogTemplateExceptionsViaSetSettingAPI() throws ConfigurationException { - Configuration.Builder cfg = new Configuration.Builder(Configuration.VERSION_3_0_0); - assertFalse(cfg.getLogTemplateExceptions()); - cfg.setSetting(MutableProcessingConfiguration.LOG_TEMPLATE_EXCEPTIONS_KEY, "true"); - assertTrue(cfg.getLogTemplateExceptions()); - } - - @Test public void testApiBuiltinEnabled() throws Exception { try { new Template( http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/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 5cf5811..47002d8 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,6 @@ 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("logTemplateExceptions", true); SETTING_ASSIGNMENTS.put("newBuiltinClassResolver", TemplateClassResolver.ALLOWS_NOTHING_RESOLVER); SETTING_ASSIGNMENTS.put("numberFormat", "0.0000"); SETTING_ASSIGNMENTS.put("objectWrapper", @@ -602,7 +601,6 @@ public class TemplateConfigurationTest { { TemplateConfiguration.Builder tcb = new TemplateConfiguration.Builder(); - tcb.setLogTemplateExceptions(false); tcb.setTabSize(3); TemplateConfiguration tc = tcb.build(); assertOutputWithoutAndWithTC(tc, http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/DefaultObjectWrapperTest.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/DefaultObjectWrapperTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/DefaultObjectWrapperTest.java index 0a1e16c..41acce3 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/DefaultObjectWrapperTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/DefaultObjectWrapperTest.java @@ -753,7 +753,6 @@ public class DefaultObjectWrapperTest { private String processTemplate(ObjectWrapper objectWrapper, Object value, String ftl) throws TemplateException, IOException { Configuration cfg = new TestConfigurationBuilder() - .logTemplateExceptions(false) .objectWrapper(objectWrapper) .build(); StringWriter out = new StringWriter(); http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/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 7009bfa..d00d0d7 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 @@ -270,7 +270,6 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc private final TemplateClassResolver newBuiltinClassResolver; private final Boolean showErrorTips; private final Boolean apiBuiltinEnabled; - private final Boolean logTemplateExceptions; private final Map customDateFormats; private final Map customNumberFormats; private final Map autoImports; @@ -435,7 +434,6 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc newBuiltinClassResolver = builder.getNewBuiltinClassResolver(); showErrorTips = builder.getShowErrorTips(); apiBuiltinEnabled = builder.getAPIBuiltinEnabled(); - logTemplateExceptions = builder.getLogTemplateExceptions(); customDateFormats = _CollectionUtil.mergeImmutableMaps( builder.getImpliedCustomDateFormats(), builder.getCustomDateFormats(), false); customNumberFormats = _CollectionUtil.mergeImmutableMaps( @@ -1157,20 +1155,6 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc } @Override - public boolean getLogTemplateExceptions() { - return logTemplateExceptions; - } - - /** - * Always {@code true} in {@link Configuration}-s; even if this setting wasn't set in the builder, it gets a default - * value in the {@link Configuration}. - */ - @Override - public boolean isLogTemplateExceptionsSet() { - return true; - } - - @Override public boolean getLazyImports() { return lazyImports; } @@ -2785,11 +2769,6 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc } @Override - protected boolean getDefaultLogTemplateExceptions() { - return false; - } - - @Override protected boolean getDefaultLazyImports() { return false; } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java b/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java index 8b14714..f0cc5a1 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java @@ -888,14 +888,13 @@ public final class Environment extends MutableProcessingConfiguration customDateFormats; private Map customNumberFormats; private Map autoImports; @@ -1172,45 +1162,6 @@ public abstract class MutableProcessingConfiguration} (and {@link Environment#importLib(String, String)}) should delay the loading * and processing of the imported templates until the content of the imported namespace is actually accessed. This * makes the overhead of unused imports negligible. A drawback is that importing a missing or otherwise http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java b/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java index 02680fa..f134675 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java @@ -1007,16 +1007,6 @@ public class Template implements ProcessingConfiguration, CustomStateScope { } @Override - public boolean getLogTemplateExceptions() { - return tCfg != null && tCfg.isLogTemplateExceptionsSet() ? tCfg.getLogTemplateExceptions() : cfg.getLogTemplateExceptions(); - } - - @Override - public boolean isLogTemplateExceptionsSet() { - return tCfg != null && tCfg.isLogTemplateExceptionsSet(); - } - - @Override public boolean getLazyImports() { return tCfg != null && tCfg.isLazyImportsSet() ? tCfg.getLazyImports() : cfg.getLazyImports(); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java index e7ca08a..60fa9ed 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java @@ -71,7 +71,6 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur private final TemplateClassResolver newBuiltinClassResolver; private final Boolean showErrorTips; private final Boolean apiBuiltinEnabled; - private final Boolean logTemplateExceptions; private final Map customDateFormats; private final Map customNumberFormats; private final Map autoImports; @@ -111,7 +110,6 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur newBuiltinClassResolver = builder.isNewBuiltinClassResolverSet() ? builder.getNewBuiltinClassResolver() : null; showErrorTips = builder.isShowErrorTipsSet() ? builder.getShowErrorTips() : null; apiBuiltinEnabled = builder.isAPIBuiltinEnabledSet() ? builder.getAPIBuiltinEnabled() : null; - logTemplateExceptions = builder.isLogTemplateExceptionsSet() ? builder.getLogTemplateExceptions() : null; customDateFormats = builder.isCustomDateFormatsSet() ? builder.getCustomDateFormats() : null; customNumberFormats = builder.isCustomNumberFormatsSet() ? builder.getCustomNumberFormats() : null; autoImports = builder.isAutoImportsSet() ? builder.getAutoImports() : null; @@ -509,19 +507,6 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur } @Override - public boolean getLogTemplateExceptions() { - if (!isLogTemplateExceptionsSet()) { - throw new CoreSettingValueNotSetException("logTemplateExceptions"); - } - return logTemplateExceptions; - } - - @Override - public boolean isLogTemplateExceptionsSet() { - return logTemplateExceptions != null; - } - - @Override public boolean getLazyImports() { if (!isLazyImportsSet()) { throw new CoreSettingValueNotSetException("lazyImports"); @@ -726,11 +711,6 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur } @Override - protected boolean getDefaultLogTemplateExceptions() { - throw new CoreSettingValueNotSetException("logTemplateExceptions"); - } - - @Override protected boolean getDefaultLazyImports() { throw new CoreSettingValueNotSetException("lazyImports"); } @@ -809,9 +789,6 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur if (tc.isLocaleSet()) { setLocale(tc.getLocale()); } - if (tc.isLogTemplateExceptionsSet()) { - setLogTemplateExceptions(tc.getLogTemplateExceptions()); - } if (tc.isNamingConventionSet()) { setNamingConvention(tc.getNamingConvention()); } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/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 8270740..aea6c0b 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 @@ -40,9 +40,8 @@ public interface TemplateExceptionHandler { * *

Note that {@link StopException}-s (raised by {@code #stop}) won't be captured. * - *

Note that you shouldn't log the exception in this method unless you suppress it. If there's a concern that the - * exception might won't be logged after it bubbles up from {@link Template#process(Object, Writer)}, simply - * ensure that {@link Configuration#getLogTemplateExceptions()} is {@code true}. + *

Note that you shouldn't log the exception in this method unless you suppress the exception. After + * all, eventually the exception is catched somewhere and is (hopefully) logged. * * @param te The exception that occurred; don't forget to re-throw it unless you want to suppress it * @param env The runtime environment of the template http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/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 7a0a906..a2809a4 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 @@ -20,7 +20,6 @@ package org.apache.freemarker.manual.examples; import java.io.OutputStreamWriter; import java.io.Writer; -import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; @@ -40,9 +39,7 @@ 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, "")) - .sourceEncoding(StandardCharsets.UTF_8) .templateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER) - .logTemplateExceptions(false) .build(); /* ------------------------------------------------------------------------ */ http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/53c2fbac/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 c3eee4d..ecc1dff 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 @@ -49,12 +49,6 @@ public class FreemarkerServletConfigurationBuilder