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 7e2732497922c10c401639437d75af150ce543c9 Author: ddekany <[email protected]> AuthorDate: Sat Jan 18 17:20:02 2020 +0100 Forward ported from 2.3-gae: Java 7 language cleanup --- .../core/FM2ASTToFM3SourceConverter.java | 11 ++++------- .../org/apache/freemarker/core/ASTPrinter.java | 12 +++-------- .../apache/freemarker/core/AttemptLoggingTest.java | 4 ++-- .../freemarker/core/ConcatenatedHashTest.java | 12 +++++------ .../apache/freemarker/core/ConfigurationTest.java | 12 +++++------ .../org/apache/freemarker/core/DateFormatTest.java | 2 +- .../freemarker/core/NullTransparencyTest.java | 8 +++----- .../apache/freemarker/core/OutputFormatTest.java | 8 ++++---- .../core/model/impl/DefaultObjectWrapperTest.java | 4 ++-- .../model/impl/MemberAccessMonitoringTest.java | 2 +- .../model/impl/TemplateHashModelAdapterTest.java | 6 +++--- .../freemarker/core/util/DeepUnwrapTest.java | 2 +- .../core/util/TemplateModelUtilsTest.java | 12 +++++------ .../core/valueformat/NumberFormatTest.java | 8 ++++---- .../org/apache/freemarker/core/ASTDirSetting.java | 2 +- .../org/apache/freemarker/core/ASTElement.java | 2 +- .../org/apache/freemarker/core/Configuration.java | 2 +- .../core/MutableProcessingConfiguration.java | 2 +- .../java/org/apache/freemarker/core/Template.java | 2 +- .../freemarker/core/TemplateElementsToVisit.java | 2 +- .../freemarker/core/debug/DebuggerClient.java | 9 +++------ .../core/model/impl/ClassIntrospector.java | 18 ++++++++--------- .../core/model/impl/DefaultMemberAccessPolicy.java | 4 ++-- .../impl/MemberSelectorListMemberAccessPolicy.java | 2 +- .../core/model/impl/ResourceBundleModel.java | 2 +- .../model/impl/TemplateCollectionModelAdapter.java | 2 +- .../model/impl/TemplateIterableModelAdapter.java | 2 +- .../model/impl/TemplateSequenceModelAdapter.java | 2 +- .../apache/freemarker/core/util/DeepUnwrap.java | 2 +- .../core/util/TemplateLanguageUtils.java | 2 +- .../freemarker/core/util/TemplateModelUtils.java | 2 +- .../freemarker/core/util/_ArrayAdapterList.java | 4 ++-- .../apache/freemarker/core/util/_ClassUtils.java | 4 +--- .../freemarker/core/util/_CollectionUtils.java | 8 ++++---- .../impl/ISOLikeTemplateDateFormatFactory.java | 4 ++-- .../apache/freemarker/dom/JaxenXPathSupport.java | 2 +- .../java/org/apache/freemarker/dom/NodeModel.java | 4 +--- .../freemarker/servlet/FreemarkerServlet.java | 6 ++---- .../servlet/jsp/FreeMarkerPageContext.java | 2 +- .../freemarker/servlet/jsp/TaglibFactory.java | 23 ++++++---------------- .../servlet/jsp/RealServletContainertTest.java | 6 +++--- .../freemarker/servlet/test/WebAppTestCase.java | 5 +---- .../freemarker/spring/model/UrlFunction.java | 2 +- .../AbstractHtmlElementTemplateDirectiveModel.java | 2 +- .../model/form/ErrorsTemplateDirectiveModel.java | 2 +- .../model/form/FormTemplateDirectiveModel.java | 2 +- .../model/form/SelectableValueComparisonUtils.java | 2 +- .../freemarker/spring/model/form/TagOutputter.java | 2 +- .../spring/web/view/PageContextServletConfig.java | 2 +- .../web/view/FreeMarkerViewResolverTest.java | 2 +- .../spring/web/view/FreeMarkerViewTest.java | 6 +++--- .../freemarker/test/MonitoredTemplateLoader.java | 2 +- .../apache/freemarker/test/ResourcesExtractor.java | 15 +++----------- 53 files changed, 113 insertions(+), 156 deletions(-) diff --git a/freemarker-converter/src/main/java/freemarker/core/FM2ASTToFM3SourceConverter.java b/freemarker-converter/src/main/java/freemarker/core/FM2ASTToFM3SourceConverter.java index ca7c1f2..1cb67b9 100644 --- a/freemarker-converter/src/main/java/freemarker/core/FM2ASTToFM3SourceConverter.java +++ b/freemarker-converter/src/main/java/freemarker/core/FM2ASTToFM3SourceConverter.java @@ -132,11 +132,8 @@ public class FM2ASTToFM3SourceConverter { throw new FileNotFoundException("Template not found: " + template.getName()); } - Reader reader = templateLoader.getReader(templateSource, template.getEncoding()); - try { + try (Reader reader = templateLoader.getReader(templateSource, template.getEncoding())) { this.src = IOUtils.toString(reader); - } finally { - reader.close(); } } catch (IOException e) { throw new ConverterException("Failed to load template source", e); @@ -1544,7 +1541,7 @@ public class FM2ASTToFM3SourceConverter { private static final Map<String, String> COMPARATOR_OP_MAP; static { - COMPARATOR_OP_MAP = new HashMap<String, String>(); + COMPARATOR_OP_MAP = new HashMap<>(); // For now we leave FM2 ops as is, but later in many cases they will be replaced. COMPARATOR_OP_MAP.put("==", "=="); COMPARATOR_OP_MAP.put("=", "=="); @@ -1574,7 +1571,7 @@ public class FM2ASTToFM3SourceConverter { private static final Map<String, String> AND_OP_MAP; static { - AND_OP_MAP = new HashMap<String, String>(); + AND_OP_MAP = new HashMap<>(); AND_OP_MAP.put("&&", "&&"); AND_OP_MAP.put("&", "&&"); AND_OP_MAP.put("\\and", "and"); @@ -1588,7 +1585,7 @@ public class FM2ASTToFM3SourceConverter { private static final Map<String, String> OR_OP_MAP; static { - OR_OP_MAP = new HashMap<String, String>(); + OR_OP_MAP = new HashMap<>(); OR_OP_MAP.put("||", "||"); OR_OP_MAP.put("|", "||"); } diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ASTPrinter.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ASTPrinter.java index 297e975..0a94063 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ASTPrinter.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ASTPrinter.java @@ -165,8 +165,7 @@ public class ASTPrinter { throw new IOException("Failed to get the length of " + file); } byte[] buffer = new byte[(int) ln]; - InputStream in = new FileInputStream(file); - try { + try (InputStream in = new FileInputStream(file)) { int offset = 0; int bytesRead; while (offset < buffer.length) { @@ -176,8 +175,6 @@ public class ASTPrinter { } offset += bytesRead; } - } finally { - in.close(); } try { @@ -198,12 +195,9 @@ public class ASTPrinter { if (!parentDir.isDirectory() && !parentDir.mkdirs()) { throw new IOException("Failed to invoke parent directory: " + parentDir); } - - Writer w = new BufferedWriter(new FileWriter(file)); - try { + + try (Writer w = new BufferedWriter(new FileWriter(file))) { w.write(astStr); - } finally { - w.close(); } } diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/AttemptLoggingTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/AttemptLoggingTest.java index bfaef48..9204ac5 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/AttemptLoggingTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/AttemptLoggingTest.java @@ -46,7 +46,7 @@ public class AttemptLoggingTest extends TemplateTest { @Test public void customConfigTest() throws IOException, TemplateException { - List<String> reports = new ArrayList<String>(); + List<String> reports = new ArrayList<>(); setConfiguration(newConfigurationBuilder() .attemptExceptionReporter(new TestAttemptExceptionReporter(reports))); @@ -61,7 +61,7 @@ public class AttemptLoggingTest extends TemplateTest { @Test public void dontReportSuppressedExceptionsTest() throws IOException, TemplateException { - List<String> reports = new ArrayList<String>(); + List<String> reports = new ArrayList<>(); setConfiguration(newConfigurationBuilder() .attemptExceptionReporter(new TestAttemptExceptionReporter(reports)) .templateExceptionHandler(new TemplateExceptionHandler() { diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConcatenatedHashTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConcatenatedHashTest.java index 7474bad..fea45d9 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConcatenatedHashTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/ConcatenatedHashTest.java @@ -66,14 +66,14 @@ public class ConcatenatedHashTest { getConcatenatedModel(toHashModelNonEx(CD_MAP), toHashModelNonEx(ABC33_MAP))); assertHashModelContent(AB_MAP, getConcatenatedModel( - toHashModelNonEx(AB_MAP), toHashModelNonEx(Collections.<String, Object>emptyMap()))); + toHashModelNonEx(AB_MAP), toHashModelNonEx(Collections.emptyMap()))); assertHashModelContent(AB_MAP, getConcatenatedModel( - toHashModelNonEx(Collections.<String, Object>emptyMap()), toHashModelNonEx(AB_MAP))); - assertHashModelContent(Collections.<String, Object>emptyMap(), + toHashModelNonEx(Collections.emptyMap()), toHashModelNonEx(AB_MAP))); + assertHashModelContent(Collections.emptyMap(), getConcatenatedModel( - toHashModelNonEx(Collections.<String, Object>emptyMap()), - toHashModelNonEx(Collections.<String, Object>emptyMap()))); + toHashModelNonEx(Collections.emptyMap()), + toHashModelNonEx(Collections.emptyMap()))); } @Test @@ -92,7 +92,7 @@ public class ConcatenatedHashTest { assertHashModelContent(AB_MAP, getConcatenatedModel( toHashModelEx(Collections.<String, Object>emptyMap()), toHashModelEx(AB_MAP))); - assertHashModelContent(Collections.<String, Object>emptyMap(), + assertHashModelContent(Collections.emptyMap(), getConcatenatedModel( toHashModelEx(Collections.<String, Object>emptyMap()), toHashModelEx(Collections.<String, Object>emptyMap()))); 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 6e3eab7..feca828 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 @@ -311,7 +311,7 @@ public class ConfigurationTest { assertEquals(StandardCharsets.ISO_8859_1, t.getActualSourceEncoding()); } { - Template t = cfg.getTemplate(tFtl, (Locale) null); + Template t = cfg.getTemplate(tFtl, null); assertEquals(tFtl, t.getLookupName()); assertEquals(tFtl, t.getSourceName()); assertEquals(Locale.GERMAN, t.getLocale()); @@ -737,7 +737,7 @@ public class ConfigurationTest { static { try { CONFIG_TEST_MEMBER_ACCESS_POLICY = new WhitelistMemberAccessPolicy(MemberSelectorListMemberAccessPolicy.MemberSelector.parse( - ImmutableList.<String>of( + ImmutableList.of( File.class.getName() + ".getName()", File.class.getName() + ".isFile()"), false, @@ -995,13 +995,13 @@ public class ConfigurationTest { @Override protected Map<String, TemplateNumberFormatFactory> getImpliedCustomNumberFormats() { - return ImmutableMap.<String, TemplateNumberFormatFactory>of( + return ImmutableMap.of( "hex", HexTemplateNumberFormatFactory.INSTANCE); } @Override protected Map<String, TemplateDateFormatFactory> getImpliedCustomDateFormats() { - return ImmutableMap.<String, TemplateDateFormatFactory>of( + return ImmutableMap.of( "epoch", EpochMillisTemplateDateFormatFactory.INSTANCE); } @@ -1017,12 +1017,12 @@ public class ConfigurationTest { @Override protected Map<String, Object> getImpliedSharedVariables() { - return ImmutableMap.<String, Object>of("v", 1); + return ImmutableMap.of("v", 1); } @Override protected Collection<OutputFormat> getImpliedRegisteredCustomOutputFormats() { - return ImmutableList.<OutputFormat>of(CustomHTMLOutputFormat.INSTANCE, DummyOutputFormat.INSTANCE); + return ImmutableList.of(CustomHTMLOutputFormat.INSTANCE, DummyOutputFormat.INSTANCE); } } diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/DateFormatTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/DateFormatTest.java index 78954cd..ae9fc02 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/DateFormatTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/DateFormatTest.java @@ -228,7 +228,7 @@ public class DateFormatTest extends TemplateTest { assertOutput("${d}", "@@1970"); setConfiguration(newConfigurationBuilder() - .customDateFormats(Collections.<String, TemplateDateFormatFactory>emptyMap()) + .customDateFormats(Collections.emptyMap()) .dateTimeFormat("@epoch")); assertErrorContains("${d}", "custom", "\"epoch\""); } diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/NullTransparencyTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/NullTransparencyTest.java index 93ea669..6047b5c 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/NullTransparencyTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/NullTransparencyTest.java @@ -19,8 +19,6 @@ package org.apache.freemarker.core; -import static org.junit.Assert.*; - import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; @@ -35,15 +33,15 @@ public class NullTransparencyTest extends TemplateTest { @Override protected Object createDataModel() { - Map<String, Object> dataModel = new HashMap<String, Object>(); + Map<String, Object> dataModel = new HashMap<>(); - List<String> list = new ArrayList<String>(); + List<String> list = new ArrayList<>(); list.add("a"); list.add(null); list.add("b"); dataModel.put("list", list); - Map<String, String> map = new LinkedHashMap<String, String>(); + Map<String, String> map = new LinkedHashMap<>(); map.put("ak", "av"); map.put(null, "bv"); map.put("ck", null); diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java index 5992a6e..8b18c04 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/OutputFormatTest.java @@ -260,11 +260,11 @@ public class OutputFormatTest extends TemplateTest { assertOutputForNamed("t.f3ah", "a&x"); setConfiguration(newConfigurationBuilder() - .registeredCustomOutputFormats(Collections.<OutputFormat>singleton(CustomHTMLOutputFormat.INSTANCE))); + .registeredCustomOutputFormats(Collections.singleton(CustomHTMLOutputFormat.INSTANCE))); assertOutputForNamed("t.f3ah", "a&X"); setConfiguration(newConfigurationBuilder() - .registeredCustomOutputFormats(Collections.<OutputFormat>emptyList())); + .registeredCustomOutputFormats(Collections.emptyList())); assertOutputForNamed("t.f3ah", "a&x"); } @@ -624,7 +624,7 @@ public class OutputFormatTest extends TemplateTest { "<#outputFormat 'dummy'></#outputFormat>", "dummy", "nregistered"); setConfiguration(newConfigurationBuilder() - .registeredCustomOutputFormats(Collections.<OutputFormat>singleton(DummyOutputFormat.INSTANCE))); + .registeredCustomOutputFormats(Collections.singleton(DummyOutputFormat.INSTANCE))); assertOutput( "<#outputFormat 'dummy'>${.outputFormat}</#outputFormat>", "dummy"); @@ -804,7 +804,7 @@ public class OutputFormatTest extends TemplateTest { OutputFormat outpoutFormat) throws TemplateException { return super.newConfigurationBuilder() - .registeredCustomOutputFormats(ImmutableList.<OutputFormat>of( + .registeredCustomOutputFormats(ImmutableList.of( SeldomEscapedOutputFormat.INSTANCE, DummyOutputFormat.INSTANCE)) .autoEscapingPolicy(autoEscPolicy) .outputFormat(outpoutFormat) 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 f83a333..010705c 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 @@ -375,7 +375,7 @@ public class DefaultObjectWrapperTest { assertCollectionTMEquals(seq, 1, null, "c"); - TemplateModelIterator it = ((TemplateIterableModel) seq).iterator(); + TemplateModelIterator it = seq.iterator(); it.next(); it.next(); it.next(); @@ -685,7 +685,7 @@ public class DefaultObjectWrapperTest { @Test public void testEnumerationAdapter() throws TemplateException { - Vector<String> vector = new Vector<String>(); + Vector<String> vector = new Vector<>(); vector.add("a"); vector.add("b"); diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/MemberAccessMonitoringTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/MemberAccessMonitoringTest.java index ed19141..536107a 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/MemberAccessMonitoringTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/MemberAccessMonitoringTest.java @@ -90,7 +90,7 @@ public class MemberAccessMonitoringTest extends TemplateTest { public MonitoredDefaultObjectWrapper() { super(new DefaultObjectWrapper.Builder(Configuration.VERSION_3_0_0).exposeFields(true)); - this.accessedMembers = Collections.synchronizedSet(new HashSet<String>()); + this.accessedMembers = Collections.synchronizedSet(new HashSet<>()); } @Override diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/TemplateHashModelAdapterTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/TemplateHashModelAdapterTest.java index 6b6e51a..cfdc6fe 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/TemplateHashModelAdapterTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/model/impl/TemplateHashModelAdapterTest.java @@ -36,7 +36,7 @@ public class TemplateHashModelAdapterTest { @Test public void testNonEmpty() throws ObjectWrappingException { - Map<Object, Object> map = new LinkedHashMap<Object, Object>(); + Map<Object, Object> map = new LinkedHashMap<>(); map.put("k1", "v1"); map.put("k2", 2); map.put("k3", null); @@ -47,7 +47,7 @@ public class TemplateHashModelAdapterTest { DefaultObjectWrapper dow = new DefaultObjectWrapper.Builder(Configuration.VERSION_3_0_0).build(); TemplateHashModel model = (TemplateHashModel) dow.wrap(map); - TemplateHashModelAdapter<Object, Object> adapted = new TemplateHashModelAdapter<Object, Object>(model, dow); + TemplateHashModelAdapter<Object, Object> adapted = new TemplateHashModelAdapter<>(model, dow); assertEquals("v1", adapted.get("k1")); assertEquals(2, adapted.get("k2")); @@ -80,7 +80,7 @@ public class TemplateHashModelAdapterTest { DefaultObjectWrapper dow = new DefaultObjectWrapper.Builder(Configuration.VERSION_3_0_0).build(); TemplateHashModel model = (TemplateHashModel) dow.wrap(map); - TemplateHashModelAdapter<Object, Object> adapted = new TemplateHashModelAdapter<Object, Object>(model, dow); + TemplateHashModelAdapter<Object, Object> adapted = new TemplateHashModelAdapter<>(model, dow); assertNull(adapted.get("k1")); diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/DeepUnwrapTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/DeepUnwrapTest.java index 1e1a664..ac30f26 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/DeepUnwrapTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/DeepUnwrapTest.java @@ -37,7 +37,7 @@ public class DeepUnwrapTest { @SuppressWarnings("rawtypes") @Test public void testHashEx2Unwrapping() throws Exception { - Map<Object, Object> map = new LinkedHashMap<Object, Object>(); + Map<Object, Object> map = new LinkedHashMap<>(); map.put("k1", "v1"); map.put("k2", null); map.put(3, "v3"); diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/TemplateModelUtilsTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/TemplateModelUtilsTest.java index 1c65346..2a294f0 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/TemplateModelUtilsTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/TemplateModelUtilsTest.java @@ -82,9 +82,9 @@ public class TemplateModelUtilsTest { TemplateModelUtils.wrapAsHashUnion(ow, th1, th4)); assertUnionResult(ImmutableMap.of("a", 1, "b", 2), false, TemplateModelUtils.wrapAsHashUnion(ow, th4, th1)); - assertUnionResult(Collections.<String, Integer>emptyMap(), true, + assertUnionResult(Collections.emptyMap(), true, TemplateModelUtils.wrapAsHashUnion(ow, thEx4, thEx4)); - assertUnionResult(Collections.<String, Integer>emptyMap(), false, + assertUnionResult(Collections.emptyMap(), false, TemplateModelUtils.wrapAsHashUnion(ow, th4, th4)); } @@ -135,15 +135,15 @@ public class TemplateModelUtilsTest { assertEquals(expected.size(), actualEx.getHashSize()); - List<String> expectedKeys = new ArrayList<String>(expected.keySet()); - List<String> actualKeys = new ArrayList<String>(); + List<String> expectedKeys = new ArrayList<>(expected.keySet()); + List<String> actualKeys = new ArrayList<>(); for (TemplateModelIterator it = ((TemplateHashModelEx) actual).keys().iterator(); it.hasNext(); ) { actualKeys.add(((TemplateStringModel) it.next()).getAsString()); } assertEquals(expectedKeys, actualKeys); - List<Integer> expectedValues = new ArrayList<Integer>(expected.values()); - List<Integer> actualValues = new ArrayList<Integer>(); + List<Integer> expectedValues = new ArrayList<>(expected.values()); + List<Integer> actualValues = new ArrayList<>(); for (TemplateModelIterator it = ((TemplateHashModelEx) actual).values().iterator(); it.hasNext(); ) { actualValues.add((Integer) ((TemplateNumberModel) it.next()).getAsNumber()); } diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/valueformat/NumberFormatTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/valueformat/NumberFormatTest.java index 5ff0d6e..3b21a35 100644 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/valueformat/NumberFormatTest.java +++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/valueformat/NumberFormatTest.java @@ -229,15 +229,15 @@ public class NumberFormatTest extends TemplateTest { assertOutput("${10}", "@@10"); setConfigurationWithNumberFormat( - "@hex", Collections.<String, TemplateNumberFormatFactory>emptyMap()); + "@hex", Collections.emptyMap()); assertErrorContains("${10}", "custom", "\"hex\""); setConfigurationWithNumberFormat( - "'@'0", Collections.<String, TemplateNumberFormatFactory>emptyMap()); + "'@'0", Collections.emptyMap()); assertOutput("${10}", "@10"); setConfigurationWithNumberFormat( - "@@0", Collections.<String, TemplateNumberFormatFactory>emptyMap()); + "@@0", Collections.emptyMap()); assertOutput("${10}", "@@10"); } @@ -271,7 +271,7 @@ public class NumberFormatTest extends TemplateTest { public void testAlieses2() throws Exception { setConfigurationWithNumberFormat( "@n", - ImmutableMap.<String, TemplateNumberFormatFactory>of( + ImmutableMap.of( "n", new AliasTemplateNumberFormatFactory("0.0", ImmutableMap.of( new Locale("en"), "0.0'_en'", diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirSetting.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirSetting.java index 9d76aef..0365644 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirSetting.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTDirSetting.java @@ -36,7 +36,7 @@ final class ASTDirSetting extends ASTDirective { private final String key; private final ASTExpression value; - static final Set<String> SETTING_NAMES = new _SortedArraySet<String>( + static final Set<String> SETTING_NAMES = new _SortedArraySet<>( // Must be sorted alphabetically! MutableProcessingConfiguration.BOOLEAN_FORMAT_KEY, MutableProcessingConfiguration.DATE_FORMAT_KEY, diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTElement.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTElement.java index 5309177..d26ce03 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTElement.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTElement.java @@ -137,7 +137,7 @@ abstract class ASTElement extends ASTNode { public Iterator<ASTElement> iterator() { return new _ChildIterator(); } - } : Collections.<ASTElement>emptyList(); + } : Collections.emptyList(); } public final int getChildCount() { 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 cb90d19..63e352b 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 @@ -159,7 +159,7 @@ public final class Configuration implements TopLevelConfiguration, CustomStateSc static final Map<String, TemplateLanguage> PREDEFINED_TEMPLATE_LANGUAGES_BY_EXTENSION; static { - PREDEFINED_TEMPLATE_LANGUAGES_BY_EXTENSION = new HashMap<String, TemplateLanguage>(32); + PREDEFINED_TEMPLATE_LANGUAGES_BY_EXTENSION = new HashMap<>(32); for (TemplateLanguage tl : DefaultTemplateLanguage.STANDARD_INSTANCES) { PREDEFINED_TEMPLATE_LANGUAGES_BY_EXTENSION.put(tl.getFileExtension(), tl); 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 936cce3..e7e3241 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 @@ -1258,7 +1258,7 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces uniqueItems.add(templateName); } } - this.autoIncludes = Collections.<String>unmodifiableList(new ArrayList<>(uniqueItems)); + this.autoIncludes = Collections.unmodifiableList(new ArrayList<>(uniqueItems)); } else { this.autoIncludes = autoIncludes; } 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 9f6a7b7..eaba912 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 @@ -1136,7 +1136,7 @@ public class Template implements ProcessingConfiguration, CustomStateScope { } Map<Serializable, Object> inheritedAttrs = includeInherited ? cfg.getCustomSettings(true) - : Collections.<Serializable, Object>emptyMap(); + : Collections.emptyMap(); LinkedHashMap<Serializable, Object> mergedAttrs; if (nonInheritedAttrs.isEmpty()) { diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementsToVisit.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementsToVisit.java index defcf5d..a21c37e 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementsToVisit.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementsToVisit.java @@ -32,7 +32,7 @@ class TemplateElementsToVisit { private final Collection<ASTElement> templateElements; TemplateElementsToVisit(Collection<ASTElement> templateElements) { - this.templateElements = null != templateElements ? templateElements : Collections.<ASTElement> emptyList(); + this.templateElements = null != templateElements ? templateElements : Collections.emptyList(); } TemplateElementsToVisit(ASTElement nestedBlock) { diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/debug/DebuggerClient.java b/freemarker-core/src/main/java/org/apache/freemarker/core/debug/DebuggerClient.java index 2af3136..26d5616 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/debug/DebuggerClient.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/debug/DebuggerClient.java @@ -60,15 +60,14 @@ public class DebuggerClient { public static Debugger getDebugger(InetAddress host, int port, String password) throws IOException { try { - Socket s = new Socket(host, port); - try { + try (Socket s = new Socket(host, port)) { ObjectOutputStream out = new ObjectOutputStream(s.getOutputStream()); ObjectInputStream in = new ObjectInputStream(s.getInputStream()); int protocolVersion = in.readInt(); if (protocolVersion > 220) { throw new IOException( - "Incompatible protocol version " + protocolVersion + - ". At most 220 was expected."); + "Incompatible protocol version " + protocolVersion + + ". At most 220 was expected."); } byte[] challenge = (byte[]) in.readObject(); MessageDigest md = MessageDigest.getInstance("SHA"); @@ -77,8 +76,6 @@ public class DebuggerClient { out.writeObject(md.digest()); return new LocalDebuggerProxy((Debugger) in.readObject()); //return (Debugger)in.readObject(); - } finally { - s.close(); } } catch (IOException e) { throw e; diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/ClassIntrospector.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/ClassIntrospector.java index dcb48c8..d250259 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/ClassIntrospector.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/ClassIntrospector.java @@ -374,7 +374,7 @@ class ClassIntrospector { method.getParameterTypes()); if (replaced != null) { if (argTypesUsedByIndexerPropReaders == null) { - argTypesUsedByIndexerPropReaders = new IdentityHashMap<Method, Void>(); + argTypesUsedByIndexerPropReaders = new IdentityHashMap<>(); } argTypesUsedByIndexerPropReaders.put(method, null); } @@ -392,7 +392,7 @@ class ClassIntrospector { private List<PropertyDescriptor> getPropertyDescriptors(BeanInfo beanInfo, Class<?> clazz) { PropertyDescriptor[] introspectorPDsArray = beanInfo.getPropertyDescriptors(); List<PropertyDescriptor> introspectorPDs = introspectorPDsArray != null ? Arrays.asList(introspectorPDsArray) - : Collections.<PropertyDescriptor>emptyList(); + : Collections.emptyList(); if (_JavaVersions.JAVA_8 == null) { // java.beans.Introspector was good enough then. @@ -425,7 +425,7 @@ class ClassIntrospector { if (propName != null) { if (mergedPRMPs == null) { // Lazy initialization - mergedPRMPs = new LinkedHashMap<String, Object>(); + mergedPRMPs = new LinkedHashMap<>(); } if (paramTypes.length == 0) { mergeInPropertyReaderMethod(mergedPRMPs, propName, method); @@ -448,7 +448,7 @@ class ClassIntrospector { } // Now we convert the PRMPs to PDs, handling case where the normal and the indexed read methods contradict. - List<PropertyDescriptor> mergedPDs = new ArrayList<PropertyDescriptor>(mergedPRMPs.size()); + List<PropertyDescriptor> mergedPDs = new ArrayList<>(mergedPRMPs.size()); for (Entry<String, Object> entry : mergedPRMPs.entrySet()) { String propName = entry.getKey(); Object propDescObj = entry.getValue(); @@ -586,7 +586,7 @@ class ClassIntrospector { private List<MethodDescriptor> getMethodDescriptors(BeanInfo beanInfo, Class<?> clazz) { MethodDescriptor[] introspectorMDArray = beanInfo.getMethodDescriptors(); List<MethodDescriptor> introspectionMDs = introspectorMDArray != null && introspectorMDArray.length != 0 - ? Arrays.asList(introspectorMDArray) : Collections.<MethodDescriptor>emptyList(); + ? Arrays.asList(introspectorMDArray) : Collections.emptyList(); if (_JavaVersions.JAVA_8 == null) { // java.beans.Introspector was good enough then. @@ -597,11 +597,11 @@ class ClassIntrospector { for (Method method : clazz.getMethods()) { if (_JavaVersions.JAVA_8.isDefaultMethod(method) && !method.isBridge()) { if (defaultMethodsToAddByName == null) { - defaultMethodsToAddByName = new HashMap<String, List<Method>>(); + defaultMethodsToAddByName = new HashMap<>(); } List<Method> overloads = defaultMethodsToAddByName.get(method.getName()); if (overloads == null) { - overloads = new ArrayList<Method>(0); + overloads = new ArrayList<>(0); defaultMethodsToAddByName.put(method.getName(), overloads); } overloads.add(method); @@ -615,7 +615,7 @@ class ClassIntrospector { // Recreate introspectionMDs so that its size can grow: ArrayList<MethodDescriptor> newIntrospectionMDs - = new ArrayList<MethodDescriptor>(introspectionMDs.size() + 16); + = new ArrayList<>(introspectionMDs.size() + 16); for (MethodDescriptor introspectorMD : introspectionMDs) { Method introspectorM = introspectorMD.getMethod(); // Prevent cases where the same method is added with different return types both from the list of default @@ -694,7 +694,7 @@ class ClassIntrospector { Class<?> clazz, ClassMemberAccessPolicy effClassMemberAccessPolicy) { try { Constructor<?>[] ctorsUnfiltered = clazz.getConstructors(); - List<Constructor<?>> ctors = new ArrayList<Constructor<?>>(ctorsUnfiltered.length); + List<Constructor<?>> ctors = new ArrayList<>(ctorsUnfiltered.length); for (Constructor<?> ctor : ctorsUnfiltered) { if (effClassMemberAccessPolicy.isConstructorExposed(ctor)) { ctors.add(ctor); diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/DefaultMemberAccessPolicy.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/DefaultMemberAccessPolicy.java index faef934..975d3d7 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/DefaultMemberAccessPolicy.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/DefaultMemberAccessPolicy.java @@ -126,7 +126,7 @@ public final class DefaultMemberAccessPolicy implements MemberAccessPolicy { whitelistMemberAccessPolicy = new WhitelistMemberAccessPolicy(whitelistMemberSelectors); // Generate blacklists based on the whitelist and the members of "blacklistUnlistedMembers" types: - List<MemberSelector> blacklistMemberSelectors = new ArrayList<MemberSelector>(); + List<MemberSelector> blacklistMemberSelectors = new ArrayList<>(); for (Class<?> blacklistUnlistedRuleType : typesWithBlacklistUnlistedRule) { ClassMemberAccessPolicy classPolicy = whitelistMemberAccessPolicy.forClass(blacklistUnlistedRuleType); for (Method method : blacklistUnlistedRuleType.getMethods()) { @@ -156,7 +156,7 @@ public final class DefaultMemberAccessPolicy implements MemberAccessPolicy { } private static List<String> loadMemberSelectorFileLines() throws IOException { - List<String> whitelist = new ArrayList<String>(); + List<String> whitelist = new ArrayList<>(); try (BufferedReader reader = new BufferedReader( new InputStreamReader( DefaultMemberAccessPolicy.class.getResourceAsStream("DefaultMemberAccessPolicy-rules"), diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/MemberSelectorListMemberAccessPolicy.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/MemberSelectorListMemberAccessPolicy.java index de82405..84d3410 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/MemberSelectorListMemberAccessPolicy.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/MemberSelectorListMemberAccessPolicy.java @@ -272,7 +272,7 @@ public abstract class MemberSelectorListMemberAccessPolicy implements MemberAcce public static List<MemberSelector> parse( Collection<String> memberSelectors, boolean ignoreMissingClassOrMember, ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException, NoSuchFieldException { - List<MemberSelector> parsedMemberSelectors = new ArrayList<MemberSelector>(memberSelectors.size()); + List<MemberSelector> parsedMemberSelectors = new ArrayList<>(memberSelectors.size()); for (String memberSelector : memberSelectors) { if (!isIgnoredLine(memberSelector)) { try { diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/ResourceBundleModel.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/ResourceBundleModel.java index 9f12c05..a974416 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/ResourceBundleModel.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/ResourceBundleModel.java @@ -161,7 +161,7 @@ public class ResourceBundleModel extends BeanModel implements TemplateFunctionMo // consequences, and we avoid a performance hit. /* synchronized(formats) */ { - format = (MessageFormat) formats.get(key); + format = formats.get(key); if (format == null) { format = new MessageFormat(((ResourceBundle) object).getString(key)); format.setLocale(getBundle().getLocale()); diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateCollectionModelAdapter.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateCollectionModelAdapter.java index 91a38ed..b3b812a 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateCollectionModelAdapter.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateCollectionModelAdapter.java @@ -68,7 +68,7 @@ class TemplateCollectionModelAdapter<T> extends AbstractCollection<T> implements @Override public Iterator<T> iterator() { try { - return new TemplateModelIteratorAdapter<T>(model.iterator(), wrapper); + return new TemplateModelIteratorAdapter<>(model.iterator(), wrapper); } catch (TemplateException e) { throw new UndeclaredThrowableException(e); } diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateIterableModelAdapter.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateIterableModelAdapter.java index 58e1835..8937aaa 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateIterableModelAdapter.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateIterableModelAdapter.java @@ -48,7 +48,7 @@ class TemplateIterableModelAdapter<T> implements TemplateModelAdapter, Iterable< @Override public Iterator<T> iterator() { try { - return new TemplateModelIteratorAdapter<T>(model.iterator(), wrapper); + return new TemplateModelIteratorAdapter<>(model.iterator(), wrapper); } catch (TemplateException e) { throw new UndeclaredThrowableException(e); } diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateSequenceModelAdapter.java b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateSequenceModelAdapter.java index 49da53a..1f74aaf 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateSequenceModelAdapter.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/model/impl/TemplateSequenceModelAdapter.java @@ -75,7 +75,7 @@ class TemplateSequenceModelAdapter<T> extends AbstractList<T> implements Templat @Override public Iterator<T> iterator() { try { - return new TemplateModelIteratorAdapter<T>(model.iterator(), wrapper); + return new TemplateModelIteratorAdapter<>(model.iterator(), wrapper); } catch (TemplateException e) { throw new UndeclaredThrowableException(e); } diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java index ba6d132..ab51b05 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java @@ -145,7 +145,7 @@ public class DeepUnwrap { if (hash.isEmptyHash()) { return Collections.emptyMap(); } - Map<Object, Object> map = new LinkedHashMap<Object, Object>((hash.getHashSize() + 1) * 4 / 3, 0.75f); + Map<Object, Object> map = new LinkedHashMap<>((hash.getHashSize() + 1) * 4 / 3, 0.75f); KeyValuePairIterator kvps = hash.keyValuePairIterator(); while (kvps.hasNext()) { KeyValuePair kvp = kvps.next(); diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/TemplateLanguageUtils.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/TemplateLanguageUtils.java index 4c70568..fcc9db4 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/TemplateLanguageUtils.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/TemplateLanguageUtils.java @@ -758,7 +758,7 @@ public final class TemplateLanguageUtils { */ public static String getTypeName(Class<? extends TemplateModel> cl) { StringBuilder sb = new StringBuilder(); - appendTemplateModelTypeName(sb, new HashSet<String>(4), cl); + appendTemplateModelTypeName(sb, new HashSet<>(4), cl); return sb.toString(); } diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/TemplateModelUtils.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/TemplateModelUtils.java index 2bad2fd..95fe8ed 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/TemplateModelUtils.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/TemplateModelUtils.java @@ -87,7 +87,7 @@ public class TemplateModelUtils { throws TemplateException { _NullArgumentException.check("hashLikeObjects", hashLikeObjects); - List<TemplateHashModel> hashes = new ArrayList<TemplateHashModel>(hashLikeObjects.size()); + List<TemplateHashModel> hashes = new ArrayList<>(hashLikeObjects.size()); boolean allTHMEx = true; for (Object hashLikeObject : hashLikeObjects) { 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 95c06bc..c3e5d8f 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 @@ -32,7 +32,7 @@ public class _ArrayAdapterList<E> extends AbstractList<E> { private final E[] array; public static <E> _ArrayAdapterList<E> adapt(E[] array) { - return array != null ? new _ArrayAdapterList<E>(array) : null; + return array != null ? new _ArrayAdapterList<>(array) : null; } private _ArrayAdapterList(E[] array) { @@ -51,7 +51,7 @@ public class _ArrayAdapterList<E> extends AbstractList<E> { @Override public Iterator<E> iterator() { - return new _ArrayIterator<E>(array); + return new _ArrayIterator<>(array); } @Override 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 43bf1ac..00aaadf 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 @@ -53,9 +53,7 @@ public class _ClassUtils { if (ctcl != null) { // not null: we don't want to fall back to the bootstrap class loader return Class.forName(className, true, ctcl); } - } catch (ClassNotFoundException e) { - // Intentionally ignored - } catch (SecurityException e) { + } catch (ClassNotFoundException | SecurityException e) { // Intentionally ignored } // Fall back to the defining class loader of the FreeMarker classes 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 5801f2e..60b94a7 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 @@ -117,10 +117,10 @@ public class _CollectionUtils { private static final Class<?> UNMODIFIABLE_MAP_CLASS_1 = Collections.emptyMap().getClass(); private static final Class<?> UNMODIFIABLE_MAP_CLASS_2 = Collections.unmodifiableMap( - new HashMap<Object, Object> (1)).getClass(); + new HashMap<>(1)).getClass(); private static final Class<?> UNMODIFIABLE_LIST_CLASS_1 = Collections.emptyList().getClass(); private static final Class<?> UNMODIFIABLE_LIST_CLASS_2 = Collections.unmodifiableList( - new ArrayList<Object>(1)).getClass(); + new ArrayList<>(1)).getClass(); public static boolean isMapKnownToBeUnmodifiable(Map<?, ?> map) { if (map == null) { @@ -158,8 +158,8 @@ public class _CollectionUtils { if (m2.isEmpty()) return m1; Map<K, V> mergedM = keepOriginalOrder - ? new LinkedHashMap<K, V>((m1.size() + m2.size()) * 4 / 3 + 1, 0.75f) - : new HashMap<K, V>((m1.size() + m2.size()) * 4 / 3 + 1, 0.75f); + ? new LinkedHashMap<>((m1.size() + m2.size()) * 4 / 3 + 1, 0.75f) + : new HashMap<>((m1.size() + m2.size()) * 4 / 3 + 1, 0.75f); mergedM.putAll(m1); if (keepOriginalOrder) { for (K m2Key : m2.keySet()) { diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/ISOLikeTemplateDateFormatFactory.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/ISOLikeTemplateDateFormatFactory.java index fe18a66..d10ac9c 100644 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/ISOLikeTemplateDateFormatFactory.java +++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/ISOLikeTemplateDateFormatFactory.java @@ -47,11 +47,11 @@ abstract class ISOLikeTemplateDateFormatFactory extends TemplateDateFormatFactor protected ISOLikeTemplateDateFormatFactory() { } public DateToISO8601CalendarFactory getISOBuiltInCalendar(Environment env) { - return (DateToISO8601CalendarFactory) env.getCustomState(DATE_TO_CAL_CONVERTER_KEY); + return env.getCustomState(DATE_TO_CAL_CONVERTER_KEY); } public CalendarFieldsToDateConverter getCalendarFieldsToDateCalculator(Environment env) { - return (CalendarFieldsToDateConverter) env.getCustomState(CAL_TO_DATE_CONVERTER_KEY); + return env.getCustomState(CAL_TO_DATE_CONVERTER_KEY); } } diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/JaxenXPathSupport.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/JaxenXPathSupport.java index 24ff94c..ccf55fb 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/JaxenXPathSupport.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/JaxenXPathSupport.java @@ -67,7 +67,7 @@ class JaxenXPathSupport implements XPathSupport { = new CustomStateKey<Map<String, BaseXPath>>() { @Override protected Map<String, BaseXPath> create() { - return new HashMap<String, BaseXPath>(); + return new HashMap<>(); } }; diff --git a/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeModel.java b/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeModel.java index 3a92f7f..e405687 100644 --- a/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeModel.java +++ b/freemarker-dom/src/main/java/org/apache/freemarker/dom/NodeModel.java @@ -474,9 +474,7 @@ abstract public class NodeModel implements TemplateNodeModelEx, TemplateHashMode useJaxenXPathSupport(); } catch (ClassNotFoundException e) { // Expected - } catch (Exception e) { - LOG.debug("Failed to use Jaxen XPath support.", e); - } catch (IllegalAccessError e) { + } catch (Exception | IllegalAccessError e) { LOG.debug("Failed to use Jaxen XPath support.", e); } } 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 2727f00..f43ab1d 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 @@ -983,9 +983,7 @@ public class FreemarkerServlet extends HttpServlet { ATTR_REQUEST_PARAMETERS_MODEL); params.putUnlistedModel(KEY_REQUEST_PARAMETERS, requestParametersModel); return params; - } catch (ServletException e) { - throw new TemplateException(e); - } catch (IOException e) { + } catch (ServletException | IOException e) { throw new TemplateException(e); } } @@ -1028,7 +1026,7 @@ public class FreemarkerServlet extends HttpServlet { try { final String prop = _SecurityUtils.getSystemProperty(SYSTEM_PROPERTY_CLASSPATH_TLDS, null); classpathTldsFromSysProp = (prop != null) ? InitParamParser.parseCommaSeparatedList(prop) - : Collections.<String>emptyList(); + : Collections.emptyList(); } catch (ParseException e) { throw new TemplateException( "Failed to parse system property \"" + SYSTEM_PROPERTY_CLASSPATH_TLDS + "\"", e); diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/FreeMarkerPageContext.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/FreeMarkerPageContext.java index 29a3f54..b2a22ff 100644 --- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/FreeMarkerPageContext.java +++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/FreeMarkerPageContext.java @@ -105,7 +105,7 @@ abstract class FreeMarkerPageContext extends PageContext implements TemplateMode session = request.getSession(false); response = reqHash.getResponse(); ObjectWrapperAndUnwrapper ow = reqHash.getObjectWrapper(); - wrapper = (ObjectWrapperAndUnwrapper) ow; + wrapper = ow; } else { throw new TemplateException("Could not find an instance of " + HttpRequestHashModel.class.getName() + diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java index 0edfffc..c34aab2 100644 --- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java +++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java @@ -619,18 +619,14 @@ public class TaglibFactory implements TemplateHashModel { } try { - ZipInputStream zipIn = new ZipInputStream(in); - - try { + try (ZipInputStream zipIn = new ZipInputStream(in)) { for (ZipEntry entry = zipIn.getNextEntry(); entry != null; entry = zipIn.getNextEntry()) { String curEntryPath = normalizeJarEntryPath(entry.getName(), false); if (curEntryPath.startsWith(metaInfEntryPath) && curEntryPath.endsWith(".tld")) { addTldLocationFromTld(zipIn, - new ServletContextJarEntryTldLocation(jarResourcePath, curEntryPath)); + new ServletContextJarEntryTldLocation(jarResourcePath, curEntryPath)); } } - } finally { - zipIn.close(); } } finally { in.close(); @@ -714,9 +710,7 @@ public class TaglibFactory implements TemplateHashModel { } try { - ZipInputStream zipIn = new ZipInputStream(in); - - try { + try (ZipInputStream zipIn = new ZipInputStream(in)) { for (ZipEntry entry = zipIn.getNextEntry(); entry != null; entry = zipIn.getNextEntry()) { String curEntryPath = normalizeJarEntryPath(entry.getName(), false); if (curEntryPath.startsWith(baseEntryPath) && curEntryPath.endsWith(".tld")) { @@ -725,8 +719,6 @@ public class TaglibFactory implements TemplateHashModel { addTldLocationFromTld(zipIn, new JarEntryUrlTldLocation(tldUrl, null)); } } - } finally { - zipIn.close(); } } catch (ZipException e) { // ZipException messages miss the zip URL @@ -774,7 +766,6 @@ public class TaglibFactory implements TemplateHashModel { */ private void addTldLocationFromTld(TldLocation tldLocation) throws IOException, SAXException { InputStream in = null; - try { in = tldLocation.getInputStream(); addTldLocationFromTld(in, tldLocation); @@ -1865,9 +1856,7 @@ public class TaglibFactory implements TemplateHashModel { throws TldParsingSAXException { try { return _ClassUtils.forName(className); - } catch (LinkageError e) { - throw newTLDEntryClassLoadingException(e, className, entryType, entryName); - } catch (ClassNotFoundException e) { + } catch (LinkageError | ClassNotFoundException e) { throw newTLDEntryClassLoadingException(e, className, entryType, entryName); } } @@ -2100,7 +2089,7 @@ public class TaglibFactory implements TemplateHashModel { * Getter pair of {@link #setClasspathTlds(List)} */ public List<? extends MetaInfTldSource> getMetaInfTldSources() { - return (metaInfTldSources != null) ? metaInfTldSources : Collections.<MetaInfTldSource> emptyList(); + return (metaInfTldSources != null) ? metaInfTldSources : Collections.emptyList(); } /** @@ -2137,7 +2126,7 @@ public class TaglibFactory implements TemplateHashModel { * Getter pair of {@link #setClasspathTlds(List)}. */ public List<String> getClasspathTlds() { - return (classpathTlds != null) ? classpathTlds : Collections.<String> emptyList(); + return (classpathTlds != null) ? classpathTlds : Collections.emptyList(); } /** 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 bd4a75d..893a7cd 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 @@ -281,8 +281,8 @@ public class RealServletContainertTest extends WebAppTestCase { @Override public String execute(HttpServletRequest req, HttpServletResponse resp) throws Exception { - req.setAttribute("linkedList", initTestCollection(new LinkedList<Integer>())); - req.setAttribute("arrayList", initTestCollection(new ArrayList<Integer>())); + req.setAttribute("linkedList", initTestCollection(new LinkedList<>())); + req.setAttribute("arrayList", initTestCollection(new ArrayList<>())); req.setAttribute("myList", new MyList()); req.setAttribute("linkedHashMap", initTestMap(new LinkedHashMap())); @@ -310,7 +310,7 @@ public class RealServletContainertTest extends WebAppTestCase { @Override public Set<Map.Entry<String, Integer>> entrySet() { - return ImmutableSet.<Map.Entry<String, Integer>>of( + return ImmutableSet.of( new MyEntry("a", 1), new MyEntry("b", 2), new MyEntry("c", 3)); } diff --git a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java index 961b812..050c92a 100644 --- a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java +++ b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java @@ -124,11 +124,8 @@ public class WebAppTestCase { final String content; if (responseCode == 200) { - InputStream in = httpCon.getInputStream(); - try { + try (InputStream in = httpCon.getInputStream()) { content = IOUtils.toString(in, StandardCharsets.UTF_8.name()); - } finally { - in.close(); } } else { content = null; diff --git a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/UrlFunction.java b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/UrlFunction.java index 66b458f..16a720d 100644 --- a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/UrlFunction.java +++ b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/UrlFunction.java @@ -145,7 +145,7 @@ class UrlFunction extends AbstractSpringTemplateFunctionModel { this); } - params.add(new _KeyValuePair<String, String>(paramName, paramValue)); + params.add(new _KeyValuePair<>(paramName, paramValue)); } } diff --git a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/AbstractHtmlElementTemplateDirectiveModel.java b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/AbstractHtmlElementTemplateDirectiveModel.java index 8c072bc..9eb8ebb 100644 --- a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/AbstractHtmlElementTemplateDirectiveModel.java +++ b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/AbstractHtmlElementTemplateDirectiveModel.java @@ -295,7 +295,7 @@ abstract class AbstractHtmlElementTemplateDirectiveModel } if (dynamicAttributes == null) { - dynamicAttributes = new LinkedHashMap<String, Object>(); + dynamicAttributes = new LinkedHashMap<>(); unmodifiableDynamicAttributes = Collections.unmodifiableMap(dynamicAttributes); } diff --git a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/ErrorsTemplateDirectiveModel.java b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/ErrorsTemplateDirectiveModel.java index 8adac5c..20f04ba 100644 --- a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/ErrorsTemplateDirectiveModel.java +++ b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/ErrorsTemplateDirectiveModel.java @@ -152,7 +152,7 @@ class ErrorsTemplateDirectiveModel extends AbstractHtmlElementTemplateDirectiveM return; } - List<String> messages = new ArrayList<String>(); + List<String> messages = new ArrayList<>(); messages.addAll(Arrays.asList(getBindStatus().getErrorMessages())); SimpleCollection messagesModel = new SimpleCollection(messages, objectWrapperAndUnwrapper); final TemplateModel[] nestedContentArgs = new TemplateModel[] { messagesModel }; diff --git a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/FormTemplateDirectiveModel.java b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/FormTemplateDirectiveModel.java index a3f084e..c95da6c 100644 --- a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/FormTemplateDirectiveModel.java +++ b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/FormTemplateDirectiveModel.java @@ -383,7 +383,7 @@ class FormTemplateDirectiveModel extends AbstractHtmlElementTemplateDirectiveMod HttpServletRequest request = getRequest(); if (processor != null && request != null) { - action = processor.processAction((HttpServletRequest) request, action, getHttpMethod()); + action = processor.processAction(request, action, getHttpMethod()); } return action; diff --git a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/SelectableValueComparisonUtils.java b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/SelectableValueComparisonUtils.java index 842d5fc..c02b74c 100644 --- a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/SelectableValueComparisonUtils.java +++ b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/SelectableValueComparisonUtils.java @@ -102,7 +102,7 @@ class SelectableValueComparisonUtils { private static boolean isValueInCollectionComparingWithEditorValue(Collection<?> collection, Object value, BindStatus bindStatus) { - final Map<PropertyEditor, Object> convertedValueCache = new HashMap<PropertyEditor, Object>(1); + final Map<PropertyEditor, Object> convertedValueCache = new HashMap<>(1); PropertyEditor editor = null; final boolean isValueString = (value instanceof String); diff --git a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/TagOutputter.java b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/TagOutputter.java index 6f5b599..2d32f2d 100644 --- a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/TagOutputter.java +++ b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/form/TagOutputter.java @@ -36,7 +36,7 @@ class TagOutputter { private final Writer out; - private final Stack<TagEntry> tagStack = new Stack<TagEntry>(); + private final Stack<TagEntry> tagStack = new Stack<>(); public TagOutputter(final Environment env, final Writer out) { this.env = env; diff --git a/freemarker-spring/src/main/java/org/apache/freemarker/spring/web/view/PageContextServletConfig.java b/freemarker-spring/src/main/java/org/apache/freemarker/spring/web/view/PageContextServletConfig.java index de94649..ad1bb2d 100644 --- a/freemarker-spring/src/main/java/org/apache/freemarker/spring/web/view/PageContextServletConfig.java +++ b/freemarker-spring/src/main/java/org/apache/freemarker/spring/web/view/PageContextServletConfig.java @@ -55,6 +55,6 @@ final class PageContextServletConfig implements ServletConfig { @Override public Enumeration<String> getInitParameterNames() { - return Collections.enumeration(Collections.<String> emptySet()); + return Collections.enumeration(Collections.emptySet()); } } \ No newline at end of file diff --git a/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreeMarkerViewResolverTest.java b/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreeMarkerViewResolverTest.java index 7d7a399..9cfab1a 100644 --- a/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreeMarkerViewResolverTest.java +++ b/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreeMarkerViewResolverTest.java @@ -82,7 +82,7 @@ public class FreeMarkerViewResolverTest { MockHttpServletResponse response = new MockHttpServletResponse(); FreeMarkerView view = resolveFreemarkerView("hello", null);//Locale.ENGLISH); - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); view.render(model, request, response); assertEquals("Hello, World!", response.getContentAsString()); diff --git a/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreeMarkerViewTest.java b/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreeMarkerViewTest.java index 64c1e79..10598f9 100644 --- a/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreeMarkerViewTest.java +++ b/freemarker-spring/src/test/java/org/apache/freemarker/spring/web/view/FreeMarkerViewTest.java @@ -95,7 +95,7 @@ public class FreeMarkerViewTest { FreeMarkerView view = createFreemarkerView("hello.f3ah"); int visitCount = 0; - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); MockHttpServletResponse response = new MockHttpServletResponse(); view.render(model, request, response); @@ -128,7 +128,7 @@ public class FreeMarkerViewTest { FreeMarkerView view = createFreemarkerView("default-model.f3ah"); - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); model.put("name", "Dan"); final long count = visitorCount.incrementAndGet(); @@ -151,7 +151,7 @@ public class FreeMarkerViewTest { FreeMarkerView view = createFreemarkerView("taglibs.f3ah"); - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); MockHttpServletResponse response = new MockHttpServletResponse(); view.render(model, request, response); assertEquals("Hello!", response.getContentAsString()); diff --git a/freemarker-test-utils/src/main/java/org/apache/freemarker/test/MonitoredTemplateLoader.java b/freemarker-test-utils/src/main/java/org/apache/freemarker/test/MonitoredTemplateLoader.java index 0ab2922..d5f67b2 100644 --- a/freemarker-test-utils/src/main/java/org/apache/freemarker/test/MonitoredTemplateLoader.java +++ b/freemarker-test-utils/src/main/java/org/apache/freemarker/test/MonitoredTemplateLoader.java @@ -42,7 +42,7 @@ import com.google.common.base.Objects; public class MonitoredTemplateLoader implements TemplateLoader { private final List<AbstractTemplateLoader2Event> events - = Collections.synchronizedList(new ArrayList<AbstractTemplateLoader2Event>()); + = Collections.synchronizedList(new ArrayList<>()); private Map<String, StoredTemplate> templates = new ConcurrentHashMap<>(); diff --git a/freemarker-test-utils/src/main/java/org/apache/freemarker/test/ResourcesExtractor.java b/freemarker-test-utils/src/main/java/org/apache/freemarker/test/ResourcesExtractor.java index a0b4045..9de3f3b 100644 --- a/freemarker-test-utils/src/main/java/org/apache/freemarker/test/ResourcesExtractor.java +++ b/freemarker-test-utils/src/main/java/org/apache/freemarker/test/ResourcesExtractor.java @@ -101,14 +101,11 @@ public final class ResourcesExtractor { deleteDstRootDir = !dstRootDir.exists(); } try { - BufferedReader contR = new BufferedReader(new InputStreamReader(contIn, StandardCharsets.UTF_8)); - try { + try (BufferedReader contR = new BufferedReader(new InputStreamReader(contIn, StandardCharsets.UTF_8))) { String contLine; while ((contLine = contR.readLine()) != null) { processLine(contLine, resolverClass, srcDirResourcePath, dstRootDir, contResource); } - } finally { - contR.close(); } jarMarkedSubdirectories(dstRootDir); deleteDstRootDir = false; @@ -231,16 +228,13 @@ public final class ResourcesExtractor { private static void jarDirectory(File srcDir, File jarFile) throws IOException { boolean finished = false; try { - FileOutputStream fileOut = new FileOutputStream(jarFile); - try { + try (FileOutputStream fileOut = new FileOutputStream(jarFile)) { JarOutputStream jarOut = new JarOutputStream(fileOut); try { addFilesToJar("", srcDir, jarOut); } finally { jarOut.close(); } - } finally { - fileOut.close(); } finished = true; } finally { @@ -275,11 +269,8 @@ public final class ResourcesExtractor { for (File entry : entries) { if (entry.isFile()) { jarOut.putNextEntry(new ZipEntry(entryBasePath + entry.getName())); - FileInputStream fileIn = new FileInputStream(entry); - try { + try (FileInputStream fileIn = new FileInputStream(entry)) { IOUtils.copy(fileIn, jarOut); - } finally { - fileIn.close(); } jarOut.closeEntry(); } else if (entry.isDirectory()) {
