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 2022/12/31 23:15:29 UTC
[freemarker] 02/09: Forward ported from 2.3-gae: Typo fixes, and some minor javadoc improvements
This is an automated email from the ASF dual-hosted git repository.
ddekany pushed a commit to branch 3
in repository https://gitbox.apache.org/repos/asf/freemarker.git
commit 10e312945e931506a975b47f7b8cb984c1ea9a48
Author: ddekany <dd...@apache.org>
AuthorDate: Sat Dec 31 22:35:02 2022 +0100
Forward ported from 2.3-gae: Typo fixes, and some minor javadoc improvements
---
.../freemarker/converter/_ConverterUtils.java | 2 +-
.../freemarker/core/BuiltInsForStringsBasic.java | 36 +++++++++------
.../org/apache/freemarker/core/JSONParser.java | 15 +------
.../org/apache/freemarker/core/_DelayedAOrAn.java | 2 +-
.../core/_DelayedConversionToString.java | 2 +-
.../freemarker/core/_DelayedGetCanonicalForm.java | 2 +-
.../apache/freemarker/core/_DelayedGetMessage.java | 2 +-
.../core/_DelayedGetMessageWithoutStackTop.java | 2 +-
.../org/apache/freemarker/core/_DelayedJQuote.java | 2 +-
.../freemarker/core/_DelayedJQuotedListing.java | 6 +--
.../freemarker/core/_DelayedJoinWithComma.java | 2 +-
.../_DelayedTemplateLanguageTypeDescription.java | 2 +-
.../freemarker/core/_ErrorDescriptionBuilder.java | 10 ++---
.../java/org/apache/freemarker/core/_Java8.java | 2 +-
.../org/apache/freemarker/core/_Java8Impl.java | 2 +-
.../_ObjectBuilderSettingEvaluationException.java | 2 +-
.../core/_ObjectBuilderSettingEvaluator.java | 52 ++++++----------------
.../core/_SettingEvaluationEnvironment.java | 6 +--
..._UnexpectedTypeErrorExplainerTemplateModel.java | 2 +-
.../impl/BigDecimalArithmeticEngine.java | 6 +--
.../freemarker/core/debug/_DebuggerService.java | 10 ++---
.../core/model/TemplateMarkupOutputModel.java | 4 +-
.../outputformat/CommonMarkupOutputFormat.java | 14 +++++-
.../core/outputformat/MarkupOutputFormat.java | 10 ++---
.../templateresolver/TemplateLoadingSource.java | 8 ++--
.../freemarker/core/util/_ArrayAdapterList.java | 2 +-
.../freemarker/core/util/_ArrayIterator.java | 2 +-
.../apache/freemarker/core/util/_ClassUtils.java | 8 ++--
.../freemarker/core/util/_CollectionUtils.java | 12 +----
.../apache/freemarker/core/util/_DateUtils.java | 8 +---
.../apache/freemarker/core/util/_JavaVersions.java | 2 +-
.../apache/freemarker/core/util/_NumberUtils.java | 2 +-
.../freemarker/core/util/_SortedArraySet.java | 2 +-
.../apache/freemarker/core/util/_StringUtils.java | 10 ++---
.../core/util/_UnmodifiableCompositeSet.java | 2 +-
.../freemarker/core/util/_UnmodifiableSet.java | 2 +-
.../core/valueformat/TemplateNumberFormat.java | 6 +--
freemarker-manual/src/main/docgen/en_US/book.xml | 4 +-
.../CopyrightCommentRemoverTemplateLoader.java | 18 +++-----
39 files changed, 124 insertions(+), 159 deletions(-)
diff --git a/freemarker-converter/src/main/java/org/apache/freemarker/converter/_ConverterUtils.java b/freemarker-converter/src/main/java/org/apache/freemarker/converter/_ConverterUtils.java
index 5b26b580..4c14be48 100644
--- a/freemarker-converter/src/main/java/org/apache/freemarker/converter/_ConverterUtils.java
+++ b/freemarker-converter/src/main/java/org/apache/freemarker/converter/_ConverterUtils.java
@@ -19,7 +19,7 @@
package org.apache.freemarker.converter;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public final class _ConverterUtils {
private _ConverterUtils() {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsBasic.java b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsBasic.java
index be2910d9..680cfe82 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsBasic.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/BuiltInsForStringsBasic.java
@@ -19,24 +19,20 @@
package org.apache.freemarker.core;
-import static org.apache.freemarker.core.util.CallableUtils.*;
+import org.apache.freemarker.core.model.*;
+import org.apache.freemarker.core.model.impl.SimpleNumber;
+import org.apache.freemarker.core.model.impl.SimpleString;
+import org.apache.freemarker.core.pluggablebuiltin.TruncateBuiltinAlgorithm;
+import org.apache.freemarker.core.util.CallableUtils;
+import org.apache.freemarker.core.util._StringUtils;
import java.util.ArrayList;
+import java.util.Locale;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.freemarker.core.model.ArgumentArrayLayout;
-import org.apache.freemarker.core.model.TemplateBooleanModel;
-import org.apache.freemarker.core.model.TemplateFunctionModel;
-import org.apache.freemarker.core.model.TemplateMarkupOutputModel;
-import org.apache.freemarker.core.model.TemplateModel;
-import org.apache.freemarker.core.model.TemplateStringModel;
-import org.apache.freemarker.core.model.impl.SimpleNumber;
-import org.apache.freemarker.core.model.impl.SimpleString;
-import org.apache.freemarker.core.pluggablebuiltin.TruncateBuiltinAlgorithm;
-import org.apache.freemarker.core.util.CallableUtils;
-import org.apache.freemarker.core.util._StringUtils;
+import static org.apache.freemarker.core.util.CallableUtils.*;
class BuiltInsForStringsBasic {
@@ -488,7 +484,14 @@ class BuiltInsForStringsBasic {
TemplateModel calculateResult(String s, Environment env) {
return new SimpleString(s.toLowerCase(env.getLocale()));
}
- }
+ }
+
+ static class c_lower_caseBI extends BuiltInForString {
+ @Override
+ TemplateModel calculateResult(String s, Environment env) {
+ return new SimpleString(s.toLowerCase(Locale.ROOT));
+ }
+ }
static class padBI extends BuiltInForString {
@@ -922,6 +925,13 @@ class BuiltInsForStringsBasic {
}
}
+ static class c_upper_caseBI extends BuiltInForString {
+ @Override
+ TemplateModel calculateResult(String s, Environment env) {
+ return new SimpleString(s.toUpperCase(Locale.ROOT));
+ }
+ }
+
static class word_listBI extends BuiltInForString {
@Override
TemplateModel calculateResult(String s, Environment env) {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/JSONParser.java b/freemarker-core/src/main/java/org/apache/freemarker/core/JSONParser.java
index 5c5ae480..50ef8de8 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/JSONParser.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/JSONParser.java
@@ -19,25 +19,14 @@
package org.apache.freemarker.core;
-import java.math.BigDecimal;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.apache.freemarker.core.model.TemplateBooleanModel;
-import org.apache.freemarker.core.model.TemplateHashModelEx;
-import org.apache.freemarker.core.model.TemplateModel;
-import org.apache.freemarker.core.model.TemplateNullModel;
-import org.apache.freemarker.core.model.TemplateNumberModel;
-import org.apache.freemarker.core.model.TemplateSequenceModel;
-import org.apache.freemarker.core.model.TemplateStringModel;
-import org.apache.freemarker.core.model.impl.SimpleHash;
+import org.apache.freemarker.core.model.*;
import org.apache.freemarker.core.model.impl.SimpleNumber;
import org.apache.freemarker.core.model.impl.SimpleString;
import org.apache.freemarker.core.util.BugException;
import org.apache.freemarker.core.util._NumberUtils;
import org.apache.freemarker.core.util._StringUtils;
-import jdk.nashorn.internal.objects.NativeNumber;
+import java.math.BigDecimal;
/**
* JSON parser that returns a {@link TameplatModel}, similar to what FTL literals product (and so, what
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedAOrAn.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedAOrAn.java
index 1c5bc093..c2a62071 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedAOrAn.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedAOrAn.java
@@ -19,7 +19,7 @@
package org.apache.freemarker.core;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _DelayedAOrAn extends _DelayedConversionToString {
public _DelayedAOrAn(Object object) {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedConversionToString.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedConversionToString.java
index 4fbe13fa..7859407e 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedConversionToString.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedConversionToString.java
@@ -19,7 +19,7 @@
package org.apache.freemarker.core;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public abstract class _DelayedConversionToString {
private static final String NOT_SET = new String();
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetCanonicalForm.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetCanonicalForm.java
index 38a4cd80..077c6481 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetCanonicalForm.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetCanonicalForm.java
@@ -20,7 +20,7 @@
package org.apache.freemarker.core;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _DelayedGetCanonicalForm extends _DelayedConversionToString {
public _DelayedGetCanonicalForm(ASTNode obj) {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetMessage.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetMessage.java
index 7bef399e..676ccb9d 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetMessage.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetMessage.java
@@ -19,7 +19,7 @@
package org.apache.freemarker.core;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _DelayedGetMessage extends _DelayedConversionToString {
public _DelayedGetMessage(Throwable exception) {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetMessageWithoutStackTop.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetMessageWithoutStackTop.java
index 7694c15f..a94d360f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetMessageWithoutStackTop.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedGetMessageWithoutStackTop.java
@@ -19,7 +19,7 @@
package org.apache.freemarker.core;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _DelayedGetMessageWithoutStackTop extends _DelayedConversionToString {
public _DelayedGetMessageWithoutStackTop(TemplateException exception) {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJQuote.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJQuote.java
index 0d045742..73786c8f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJQuote.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJQuote.java
@@ -21,7 +21,7 @@ package org.apache.freemarker.core;
import org.apache.freemarker.core.util._StringUtils;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _DelayedJQuote extends _DelayedConversionToString {
public _DelayedJQuote(Object object) {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJQuotedListing.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJQuotedListing.java
index d2512815..0852fa07 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJQuotedListing.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJQuotedListing.java
@@ -19,11 +19,11 @@
package org.apache.freemarker.core;
-import java.util.Collection;
-
import org.apache.freemarker.core.util._StringUtils;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+import java.util.Collection;
+
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _DelayedJQuotedListing extends _DelayedConversionToString {
public _DelayedJQuotedListing(Collection<?> object) {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJoinWithComma.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJoinWithComma.java
index 7ae1da33..2234609f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJoinWithComma.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedJoinWithComma.java
@@ -19,7 +19,7 @@
package org.apache.freemarker.core;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _DelayedJoinWithComma extends _DelayedConversionToString {
public _DelayedJoinWithComma(String[] items) {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedTemplateLanguageTypeDescription.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedTemplateLanguageTypeDescription.java
index 4c22bc27..a49493cd 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedTemplateLanguageTypeDescription.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_DelayedTemplateLanguageTypeDescription.java
@@ -22,7 +22,7 @@ package org.apache.freemarker.core;
import org.apache.freemarker.core.model.TemplateModel;
import org.apache.freemarker.core.util.TemplateLanguageUtils;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _DelayedTemplateLanguageTypeDescription extends _DelayedConversionToString {
public _DelayedTemplateLanguageTypeDescription(TemplateModel tm) {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_ErrorDescriptionBuilder.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_ErrorDescriptionBuilder.java
index f00da1ab..792634d1 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_ErrorDescriptionBuilder.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_ErrorDescriptionBuilder.java
@@ -19,18 +19,18 @@
package org.apache.freemarker.core;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Member;
-import java.lang.reflect.Method;
-
import org.apache.freemarker.core.model.impl._MethodUtils;
import org.apache.freemarker.core.util._ClassUtils;
import org.apache.freemarker.core.util._StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Member;
+import java.lang.reflect.Method;
+
/**
- * Used internally only, might changes without notice!
+ * Used internally only, might change without notice!
* Packs a structured from of the error description from which the error message can be rendered on-demand.
* Note that this class isn't serializable, thus the containing exception should render the message before it's
* serialized.
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_Java8.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_Java8.java
index 037ef9a6..491a3ddc 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_Java8.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_Java8.java
@@ -22,7 +22,7 @@ package org.apache.freemarker.core;
import java.lang.reflect.Method;
/**
- * Used internally only, might changes without notice!
+ * Used internally only, might change without notice!
* Used for accessing functionality that's only present in Java 6 or later.
*/
public interface _Java8 {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_Java8Impl.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_Java8Impl.java
index 527a180a..c94fbf5c 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_Java8Impl.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_Java8Impl.java
@@ -22,7 +22,7 @@ package org.apache.freemarker.core;
import java.lang.reflect.Method;
/**
- * Used internally only, might changes without notice!
+ * Used internally only, might change without notice!
* Used for accessing functionality that's only present in Java 8 or later.
*/
public final class _Java8Impl implements _Java8 {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluationException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluationException.java
index 6c8e700c..8b3410c7 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluationException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluationException.java
@@ -22,7 +22,7 @@ package org.apache.freemarker.core;
import org.apache.freemarker.core.util._StringUtils;
/**
- * Don't use this; used internally by FreeMarker, might changes without notice.
+ * Don't use this; used internally by FreeMarker, might change without notice.
* Thrown by {@link _ObjectBuilderSettingEvaluator}.
*/
public class _ObjectBuilderSettingEvaluationException extends Exception {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluator.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluator.java
index ec52865c..9bfd1c35 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluator.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_ObjectBuilderSettingEvaluator.java
@@ -19,6 +19,17 @@
package org.apache.freemarker.core;
+import org.apache.freemarker.core.model.ObjectWrappingException;
+import org.apache.freemarker.core.model.TemplateHashModel;
+import org.apache.freemarker.core.model.TemplateModel;
+import org.apache.freemarker.core.model.impl.DefaultObjectWrapper;
+import org.apache.freemarker.core.model.impl.JavaMethodModel;
+import org.apache.freemarker.core.model.impl.RestrictedObjectWrapper;
+import org.apache.freemarker.core.outputformat.impl.*;
+import org.apache.freemarker.core.pluggablebuiltin.impl.DefaultTruncateBuiltinAlgorithm;
+import org.apache.freemarker.core.templateresolver.*;
+import org.apache.freemarker.core.util.*;
+
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
@@ -27,45 +38,10 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.math.BigDecimal;
import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.freemarker.core.model.ObjectWrappingException;
-import org.apache.freemarker.core.model.TemplateHashModel;
-import org.apache.freemarker.core.model.TemplateModel;
-import org.apache.freemarker.core.model.impl.DefaultObjectWrapper;
-import org.apache.freemarker.core.model.impl.JavaMethodModel;
-import org.apache.freemarker.core.model.impl.RestrictedObjectWrapper;
-import org.apache.freemarker.core.outputformat.impl.HTMLOutputFormat;
-import org.apache.freemarker.core.outputformat.impl.PlainTextOutputFormat;
-import org.apache.freemarker.core.outputformat.impl.RTFOutputFormat;
-import org.apache.freemarker.core.outputformat.impl.UndefinedOutputFormat;
-import org.apache.freemarker.core.outputformat.impl.XHTMLOutputFormat;
-import org.apache.freemarker.core.outputformat.impl.XMLOutputFormat;
-import org.apache.freemarker.core.pluggablebuiltin.impl.DefaultTruncateBuiltinAlgorithm;
-import org.apache.freemarker.core.templateresolver.AndMatcher;
-import org.apache.freemarker.core.templateresolver.ConditionalTemplateConfigurationFactory;
-import org.apache.freemarker.core.templateresolver.FileExtensionMatcher;
-import org.apache.freemarker.core.templateresolver.FileNameGlobMatcher;
-import org.apache.freemarker.core.templateresolver.FirstMatchTemplateConfigurationFactory;
-import org.apache.freemarker.core.templateresolver.MergingTemplateConfigurationFactory;
-import org.apache.freemarker.core.templateresolver.NotMatcher;
-import org.apache.freemarker.core.templateresolver.OrMatcher;
-import org.apache.freemarker.core.templateresolver.PathGlobMatcher;
-import org.apache.freemarker.core.templateresolver.PathRegexMatcher;
-import org.apache.freemarker.core.util.BugException;
-import org.apache.freemarker.core.util.GenericParseException;
-import org.apache.freemarker.core.util.TemplateLanguageUtils;
-import org.apache.freemarker.core.util._ClassUtils;
-import org.apache.freemarker.core.util._StringUtils;
+import java.util.*;
/**
- * Don't use this; used internally by FreeMarker, might changes without notice.
+ * Don't use this; used internally by FreeMarker, might change without notice.
*
* Evaluates object builder expressions used in configuration {@link Properties}.
* It should be replaced with FTL later (when it was improved to be practical for this), so the syntax should be
@@ -442,7 +418,7 @@ public class _ObjectBuilderSettingEvaluator {
}
} else {
if (resultCoerced) {
- // The FTL way (BigDecimal is loseless, and it will be coerced to the target type later):
+ // The FTL way (BigDecimal is lossless, and it will be coerced to the target type later):
return new BigDecimal(numStr);
} else {
// The Java way (lossy but familiar):
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_SettingEvaluationEnvironment.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_SettingEvaluationEnvironment.java
index 9501185e..d4f68470 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_SettingEvaluationEnvironment.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_SettingEvaluationEnvironment.java
@@ -19,12 +19,12 @@
package org.apache.freemarker.core;
-import java.util.Properties;
-
import org.apache.freemarker.core.model.impl.DefaultObjectWrapper;
+import java.util.Properties;
+
/**
- * Don't use this; used internally by FreeMarker, might changes without notice.
+ * Don't use this; used internally by FreeMarker, might change without notice.
* The runtime environment used during the evaluation of configuration {@link Properties}.
*/
public class _SettingEvaluationEnvironment {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/_UnexpectedTypeErrorExplainerTemplateModel.java b/freemarker-core/src/main/java/org/apache/freemarker/core/_UnexpectedTypeErrorExplainerTemplateModel.java
index 56481b87..456bef97 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/_UnexpectedTypeErrorExplainerTemplateModel.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/_UnexpectedTypeErrorExplainerTemplateModel.java
@@ -22,7 +22,7 @@ package org.apache.freemarker.core;
import org.apache.freemarker.core.model.TemplateModel;
/**
- * Don't use this; used internally by FreeMarker, might changes without notice.
+ * Don't use this; used internally by FreeMarker, might change without notice.
*
* <p>Implemented by {@link TemplateModel}-s that can explain why they don't implement a certain type.
* */
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/arithmetic/impl/BigDecimalArithmeticEngine.java b/freemarker-core/src/main/java/org/apache/freemarker/core/arithmetic/impl/BigDecimalArithmeticEngine.java
index 827b0e84..63512a07 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/arithmetic/impl/BigDecimalArithmeticEngine.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/arithmetic/impl/BigDecimalArithmeticEngine.java
@@ -18,11 +18,11 @@
*/
package org.apache.freemarker.core.arithmetic.impl;
-import java.math.BigDecimal;
-
import org.apache.freemarker.core.arithmetic.ArithmeticEngine;
import org.apache.freemarker.core.util._NumberUtils;
+import java.math.BigDecimal;
+
/**
* Arithmetic engine that converts all numbers to {@link BigDecimal} and then operates on them, and also keeps the
* result as a {@link BigDecimal}. This is FreeMarker's default arithmetic engine.
@@ -48,7 +48,7 @@ public class BigDecimalArithmeticEngine extends ArithmeticEngine {
return 0;
} else {
// The most common case is comparing values of the same type. As BigDecimal can represent all of these
- // with loseless round-trip (i.e., converting to BigDecimal and then back the original type gives the
+ // with lossless round-trip (i.e., converting to BigDecimal and then back the original type gives the
// original value), we can avoid conversion to BigDecimal without changing the result.
if (first.getClass() == second.getClass()) {
// Bit of optimization for this is a very common case:
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/debug/_DebuggerService.java b/freemarker-core/src/main/java/org/apache/freemarker/core/debug/_DebuggerService.java
index 4d379178..9f5caf4d 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/debug/_DebuggerService.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/debug/_DebuggerService.java
@@ -19,16 +19,16 @@
package org.apache.freemarker.core.debug;
-import java.rmi.RemoteException;
-import java.util.Collections;
-import java.util.List;
-
import org.apache.freemarker.core.Environment;
import org.apache.freemarker.core.Template;
import org.apache.freemarker.core.util._SecurityUtils;
+import java.rmi.RemoteException;
+import java.util.Collections;
+import java.util.List;
+
/**
- * Don't use this; used internally by FreeMarker, might changes without notice.
+ * Don't use this; used internally by FreeMarker, might change without notice.
* This class provides debugging hooks for the core FreeMarker engine. It is
* not usable for anyone outside the FreeMarker core classes.
*/
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/TemplateMarkupOutputModel.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/TemplateMarkupOutputModel.java
index aff86575..3f813981 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/TemplateMarkupOutputModel.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/TemplateMarkupOutputModel.java
@@ -27,8 +27,8 @@ import org.apache.freemarker.core.outputformat.OutputFormat;
* mechanism. Values of this kind are exempt from {@link OutputFormat}-based automatic escaping.
*
* <p>
- * Each implementation of this type has a {@link OutputFormat} subclass pair, whose singleton instance is returned by
- * {@link #getOutputFormat()}. See more about how markup output values work at {@link OutputFormat}.
+ * Each implementation of this type has a corresponding {@link OutputFormat} subclass, whose singleton instance is
+ * returned by {@link #getOutputFormat()}. See more about how markup output values work at {@link OutputFormat}.
*
* <p>
* Note that {@link TemplateMarkupOutputModel}-s are by design not treated like {@link TemplateStringModel}-s, and so
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/CommonMarkupOutputFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/CommonMarkupOutputFormat.java
index 337d37bc..ce1ee85a 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/CommonMarkupOutputFormat.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/CommonMarkupOutputFormat.java
@@ -18,11 +18,11 @@
*/
package org.apache.freemarker.core.outputformat;
+import org.apache.freemarker.core.TemplateException;
+
import java.io.IOException;
import java.io.Writer;
-import org.apache.freemarker.core.TemplateException;
-
/**
* Common superclass for implementing {@link MarkupOutputFormat}-s that use a {@link CommonTemplateMarkupOutputModel}
* subclass.
@@ -115,6 +115,16 @@ public abstract class CommonMarkupOutputFormat<MO extends CommonTemplateMarkupOu
/**
* Creates a new {@link CommonTemplateMarkupOutputModel} that's bound to this {@link OutputFormat} instance.
+ * When this is called from {@link CommonMarkupOutputFormat}, exactly one of the parameters will be
+ * non-{@code null}.
+ *
+ * @param plainTextContent
+ * {@code null} if the content is markup that possibly can be described as plain text without loss.
+ * @param markupContent
+ * Typically will be {@code null} if {@code plainTextContent} is not {@code null}. While the plain text always
+ * can be converted to markup via {@link #escapePlainText(String)}, it's up to the implementation if it wants
+ * to do that now and store the markup, or later on demand (like each time when
+ * {@link #getMarkupString(CommonTemplateMarkupOutputModel)} is called).
*/
protected abstract MO newTemplateMarkupOutputModel(String plainTextContent, String markupContent)
throws TemplateException;
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/MarkupOutputFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/MarkupOutputFormat.java
index 77ba50c6..ed0b36fb 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/MarkupOutputFormat.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/outputformat/MarkupOutputFormat.java
@@ -18,15 +18,15 @@
*/
package org.apache.freemarker.core.outputformat;
-import java.io.IOException;
-import java.io.Writer;
-
import org.apache.freemarker.core.Configuration;
import org.apache.freemarker.core.TemplateException;
import org.apache.freemarker.core.model.TemplateMarkupOutputModel;
import org.apache.freemarker.core.outputformat.impl.HTMLOutputFormat;
import org.apache.freemarker.core.outputformat.impl.TemplateHTMLOutputModel;
+import java.io.IOException;
+import java.io.Writer;
+
/**
* Superclass of {@link OutputFormat}-s that represent a "markup" format, which is any format where certain character
* sequences have special meaning and thus may need escaping. (Escaping is important for FreeMarker, as typically it has
@@ -78,7 +78,7 @@ public abstract class MarkupOutputFormat<MO extends TemplateMarkupOutputModel> e
/**
* Equivalent to calling {@link #fromPlainTextByEscaping(String)} and then
- * {@link #output(TemplateMarkupOutputModel, Writer)}, but the implementation may uses a more efficient solution.
+ * {@link #output(TemplateMarkupOutputModel, Writer)}, but the implementation may use a more efficient solution.
*/
public abstract void output(String textToEsc, Writer out) throws IOException, TemplateException;
@@ -106,7 +106,7 @@ public abstract class MarkupOutputFormat<MO extends TemplateMarkupOutputModel> e
/**
* Should give the same result as {@link #fromPlainTextByEscaping(String)} and then
- * {@link #getMarkupString(TemplateMarkupOutputModel)}, but the implementation may uses a more efficient solution.
+ * {@link #getMarkupString(TemplateMarkupOutputModel)}, but the implementation may use a more efficient solution.
*/
public abstract String escapePlainText(String plainTextContent) throws TemplateException;
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateLoadingSource.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateLoadingSource.java
index fe39b54a..e1ad6391 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateLoadingSource.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/TemplateLoadingSource.java
@@ -18,16 +18,16 @@
*/
package org.apache.freemarker.core.templateresolver;
-import java.io.Serializable;
-import java.util.HashMap;
-
import org.apache.freemarker.core.templateresolver.impl.ByteArrayTemplateLoader;
import org.apache.freemarker.core.templateresolver.impl.FileTemplateLoader;
+import java.io.Serializable;
+import java.util.HashMap;
+
/**
* The point of {@link TemplateLoadingSource} is that with their {@link Object#equals(Object)} method we can tell if two
* cache entries were generated from the same physical resource or not. Comparing the template names isn't enough,
- * because a {@link TemplateLoader} may uses some kind of fallback mechanism, such as delegating to other
+ * because a {@link TemplateLoader} may use some kind of fallback mechanism, such as delegating to other
* {@link TemplateLoader}-s until the template is found. Like if we have two {@link FileTemplateLoader}-s with different
* physical root directories, both can contain {@code "foo/bar.f3ah"}, but obviously the two files aren't the same.
*
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayAdapterList.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayAdapterList.java
index c3e5d8f9..eab4adb5 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayAdapterList.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayAdapterList.java
@@ -24,7 +24,7 @@ import java.util.Arrays;
import java.util.Iterator;
/**
- * Don't use this; used internally by FreeMarker, might changes without notice.
+ * Don't use this; used internally by FreeMarker, might change without notice.
* Immutable list that wraps an array that's known to be non-changing.
*/
public class _ArrayAdapterList<E> extends AbstractList<E> {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayIterator.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayIterator.java
index 0ff9241a..68d2225c 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayIterator.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayIterator.java
@@ -22,7 +22,7 @@ package org.apache.freemarker.core.util;
import java.util.Iterator;
import java.util.NoSuchElementException;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _ArrayIterator<T> implements Iterator<T> {
private final T[] array;
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ClassUtils.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ClassUtils.java
index 00aaadfb..2647e61f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ClassUtils.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ClassUtils.java
@@ -19,6 +19,8 @@
package org.apache.freemarker.core.util;
+import org.apache.freemarker.core.model.impl.BeanModel;
+
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Array;
@@ -27,8 +29,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
-import org.apache.freemarker.core.model.impl.BeanModel;
-
public class _ClassUtils {
private static final String ORG_APACHE_FREEMARKER = "org.apache.freemarker.";
@@ -216,7 +216,7 @@ public class _ClassUtils {
throws IOException {
InputStream ins;
try {
- // This is how we did this earlier. May uses some JarURLConnection caches, which leads to the problems.
+ // This is how we did this earlier. May use some JarURLConnection caches, which leads to the problems.
ins = baseClass.getResourceAsStream(resource);
} catch (Exception e) {
// Workaround for "IllegalStateException: zip file closed", and other related exceptions. This happens due
@@ -261,7 +261,7 @@ public class _ClassUtils {
InputStream ins = null;
try {
try {
- // This is how we did this earlier. May uses some JarURLConnection caches, which leads to the problems.
+ // This is how we did this earlier. May use some JarURLConnection caches, which leads to the problems.
ins = baseClass.getResourceAsStream(resource);
} catch (Exception e) {
throw new MaybeZipFileClosedException();
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_CollectionUtils.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_CollectionUtils.java
index 60b94a72..ba9069b4 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_CollectionUtils.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_CollectionUtils.java
@@ -19,18 +19,10 @@
package org.apache.freemarker.core.util;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
/**
- * Don't use this; used internally by FreeMarker, might changes without notice.
+ * Don't use this; used internally by FreeMarker, might change without notice.
* {@link Collection} and {@link Map}-related utilities.
*/
public class _CollectionUtils {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_DateUtils.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_DateUtils.java
index 60201b6b..e010d9fd 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_DateUtils.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_DateUtils.java
@@ -20,16 +20,12 @@
package org.apache.freemarker.core.util;
import java.text.ParseException;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Locale;
-import java.util.TimeZone;
+import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
- * Don't use this; used internally by FreeMarker, might changes without notice.
+ * Don't use this; used internally by FreeMarker, might change without notice.
* Date and time related utilities.
*/
public class _DateUtils {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_JavaVersions.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_JavaVersions.java
index 88efaca0..986e2437 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_JavaVersions.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_JavaVersions.java
@@ -24,7 +24,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Used internally only, might changes without notice!
+ * Used internally only, might change without notice!
*/
public final class _JavaVersions {
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NumberUtils.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NumberUtils.java
index 9c65eaf7..bfd324be 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NumberUtils.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NumberUtils.java
@@ -22,7 +22,7 @@ package org.apache.freemarker.core.util;
import java.math.BigDecimal;
import java.math.BigInteger;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _NumberUtils {
private static final BigDecimal BIG_DECIMAL_INT_MIN = BigDecimal.valueOf(Integer.MIN_VALUE);
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_SortedArraySet.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_SortedArraySet.java
index 788fed7d..414da33f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_SortedArraySet.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_SortedArraySet.java
@@ -23,7 +23,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _SortedArraySet<E> extends _UnmodifiableSet<E> {
private final E[] array;
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtils.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtils.java
index 587b20fa..228488e7 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtils.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtils.java
@@ -19,6 +19,10 @@
package org.apache.freemarker.core.util;
+import org.apache.freemarker.core.Environment;
+import org.apache.freemarker.core.Template;
+import org.apache.freemarker.core.Version;
+
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
@@ -29,11 +33,7 @@ import java.util.Map;
import java.util.StringTokenizer;
import java.util.regex.Pattern;
-import org.apache.freemarker.core.Environment;
-import org.apache.freemarker.core.Template;
-import org.apache.freemarker.core.Version;
-
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _StringUtils {
private static final char[] LT = new char[] { '&', 'l', 't', ';' };
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_UnmodifiableCompositeSet.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_UnmodifiableCompositeSet.java
index ab88f57f..23034d06 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_UnmodifiableCompositeSet.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_UnmodifiableCompositeSet.java
@@ -22,7 +22,7 @@ package org.apache.freemarker.core.util;
import java.util.Iterator;
import java.util.Set;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public class _UnmodifiableCompositeSet<E> extends _UnmodifiableSet<E> {
private final Set<E> set1, set2;
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_UnmodifiableSet.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_UnmodifiableSet.java
index 7e08815d..464e8410 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_UnmodifiableSet.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_UnmodifiableSet.java
@@ -21,7 +21,7 @@ package org.apache.freemarker.core.util;
import java.util.AbstractSet;
-/** Don't use this; used internally by FreeMarker, might changes without notice. */
+/** Don't use this; used internally by FreeMarker, might change without notice. */
public abstract class _UnmodifiableSet<E> extends AbstractSet<E> {
@Override
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java
index 25e7ad46..47904edb 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java
@@ -18,8 +18,6 @@
*/
package org.apache.freemarker.core.valueformat;
-import java.text.NumberFormat;
-
import org.apache.freemarker.core.Environment;
import org.apache.freemarker.core.TemplateException;
import org.apache.freemarker.core.arithmetic.ArithmeticEngine;
@@ -27,6 +25,8 @@ import org.apache.freemarker.core.model.TemplateDateModel;
import org.apache.freemarker.core.model.TemplateMarkupOutputModel;
import org.apache.freemarker.core.model.TemplateNumberModel;
+import java.text.NumberFormat;
+
/**
* Represents a number format; used in templates for formatting and parsing with that format. This is similar to Java's
* {@link NumberFormat}, but made to fit the requirements of FreeMarker. Also, it makes easier to define formats that
@@ -84,7 +84,7 @@ public abstract class TemplateNumberFormat extends TemplateValueFormat {
* will be support, it will be similar to {@link TemplateDateFormat#parse(String, int)}.
*/
public final Object parse(String s) throws TemplateValueFormatException {
- throw new ParsingNotSupportedException("Number formats currenly don't support parsing");
+ throw new ParsingNotSupportedException("Number formats currently don't support parsing");
}
diff --git a/freemarker-manual/src/main/docgen/en_US/book.xml b/freemarker-manual/src/main/docgen/en_US/book.xml
index 2f9d3b7d..c8492a93 100644
--- a/freemarker-manual/src/main/docgen/en_US/book.xml
+++ b/freemarker-manual/src/main/docgen/en_US/book.xml
@@ -10604,7 +10604,7 @@ cfg.setNumberFormat("@ua 0.####;; roundingMode=halfUp");</programlisting>
linkend="gloss.unicode">UNICODE</link> text" (UTF-16). Nonetheless,
there are situations when it must deal with <link
linkend="gloss.charset">charsets</link>, because it has to exchange
- data with the outer world that may uses various other charsets.</para>
+ data with the outer world that may use various other charsets.</para>
<section>
<title>The charset of the input</title>
@@ -28786,7 +28786,7 @@ End book</programlisting>
<answer>
<para>FreeMarker uses the locale-sensitive number formatting
capability of the Java platform. The default number format for
- your locale may uses grouping or other formatting. If you don't
+ your locale may use grouping or other formatting. If you don't
want that, you have to override the number format suggested by the
Java platform with the <literal>number_format</literal> <link
linkend="pgui_config_settings">FreeMarker setting</link>. For
diff --git a/freemarker-test-utils/src/main/java/org/apache/freemarker/test/CopyrightCommentRemoverTemplateLoader.java b/freemarker-test-utils/src/main/java/org/apache/freemarker/test/CopyrightCommentRemoverTemplateLoader.java
index 3c03a873..7a564ffa 100644
--- a/freemarker-test-utils/src/main/java/org/apache/freemarker/test/CopyrightCommentRemoverTemplateLoader.java
+++ b/freemarker-test-utils/src/main/java/org/apache/freemarker/test/CopyrightCommentRemoverTemplateLoader.java
@@ -19,20 +19,12 @@
package org.apache.freemarker.test;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.Serializable;
-import java.io.StringReader;
-import java.nio.charset.StandardCharsets;
-
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.input.ReaderInputStream;
-import org.apache.freemarker.core.templateresolver.TemplateLoader;
-import org.apache.freemarker.core.templateresolver.TemplateLoaderSession;
-import org.apache.freemarker.core.templateresolver.TemplateLoadingResult;
-import org.apache.freemarker.core.templateresolver.TemplateLoadingResultStatus;
-import org.apache.freemarker.core.templateresolver.TemplateLoadingSource;
+import org.apache.freemarker.core.templateresolver.*;
+
+import java.io.*;
+import java.nio.charset.StandardCharsets;
/**
* Removes the Apache copyright boiler plate from the beginning of the template, so that they don't mess up the expected
@@ -92,7 +84,7 @@ public class CopyrightCommentRemoverTemplateLoader implements TemplateLoader {
return null;
}
try {
- // Encoding then decosing in ISO-8859-1 is binary loseless
+ // Encoding then decoding in ISO-8859-1 is binary lossless
String content = IOUtils.toString(in, StandardCharsets.ISO_8859_1.name());
return new ReaderInputStream(
new StringReader(TestUtils.removeFTLCopyrightComment(content)),