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 <r...@apache.org>
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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to