This is an automated email from the ASF dual-hosted git repository.
remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new 92e7bf62e3 Generate optimal size and types for JSP imports maps
92e7bf62e3 is described below
commit 92e7bf62e32c91d7c6475e5b07de13e5b314660b
Author: remm <[email protected]>
AuthorDate: Mon Jan 29 11:36:44 2024 +0100
Generate optimal size and types for JSP imports maps
BZ 68546, as suggested by John Engebretson.
---
java/org/apache/jasper/compiler/Generator.java | 8 ++++++--
webapps/docs/changelog.xml | 4 ++++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/java/org/apache/jasper/compiler/Generator.java
b/java/org/apache/jasper/compiler/Generator.java
index 3a1b9a2add..3d3d00c248 100644
--- a/java/org/apache/jasper/compiler/Generator.java
+++ b/java/org/apache/jasper/compiler/Generator.java
@@ -620,7 +620,9 @@ class Generator {
out.pushIndent();
// Packages is never empty because o.a.j.Constants.STANDARD_IMPORTS
// contains 3 packages and is always added to the imports.
- out.printin("_jspx_imports_packages = new java.util.HashSet<>();");
+ out.printin("_jspx_imports_packages = new java.util.LinkedHashSet<>(");
+ out.print(Integer.valueOf(packages.size()));
+ out.print(");");
out.println();
for (String packageName : packages) {
out.printin("_jspx_imports_packages.add(\"");
@@ -632,7 +634,9 @@ class Generator {
out.printin("_jspx_imports_classes = null;");
out.println();
} else {
- out.printin("_jspx_imports_classes = new java.util.HashSet<>();");
+ out.printin("_jspx_imports_classes = new
java.util.LinkedHashSet<>(");
+ out.print(Integer.valueOf(classes.size()));
+ out.print(");");
out.println();
for (String className : classes) {
out.printin("_jspx_imports_classes.add(\"");
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 5138229157..60911ccb44 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -157,6 +157,10 @@
Additional fixes to correctly support <code>length</code> as a
read-only
property of an array via the <code>ArrayELResolver</code>. (markt)
</fix>
+ <fix>
+ <bug>68546</bug>: Generate optimal size and types for JSP imports maps,
+ as suggested by John Engebretson. (remm)
+ </fix>
</changelog>
</subsection>
<subsection name="WebSocket">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]