This is an automated email from the ASF dual-hosted git repository.

markt-asf 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 115bfeb411 Remove pre-Java 21 workaround
115bfeb411 is described below

commit 115bfeb4116f328938162e333b01b7671edc664e
Author: Mark Thomas <[email protected]>
AuthorDate: Wed May 20 09:44:22 2026 +0100

    Remove pre-Java 21 workaround
    
    Minimum Java version is 21 for Jakarta EE 12 / Tomcat 12
---
 java/jakarta/el/BeanSupportFull.java | 25 -------------------------
 1 file changed, 25 deletions(-)

diff --git a/java/jakarta/el/BeanSupportFull.java 
b/java/jakarta/el/BeanSupportFull.java
index ac35a3b1ff..2311f8ca23 100644
--- a/java/jakarta/el/BeanSupportFull.java
+++ b/java/jakarta/el/BeanSupportFull.java
@@ -42,35 +42,10 @@ class BeanSupportFull extends BeanSupport {
                 for (PropertyDescriptor pd : pds) {
                     this.properties.put(pd.getName(), new 
BeanPropertyFull(type, pd));
                 }
-                /*
-                 * https://bugs.openjdk.org/browse/JDK-8071693 - Introspector 
ignores default interface methods.
-                 *
-                 * This bug is fixed in Java 21 b21. This workaround can be 
removed once the minimum Java version is 21.
-                 * Populating from any interfaces causes default methods to be 
included.
-                 */
-                populateFromInterfaces(type);
             } catch (IntrospectionException ie) {
                 throw new ELException(ie);
             }
         }
-
-        private void populateFromInterfaces(Class<?> aClass) throws 
IntrospectionException {
-            Class<?>[] interfaces = aClass.getInterfaces();
-            for (Class<?> ifs : interfaces) {
-                BeanInfo info = Introspector.getBeanInfo(ifs);
-                PropertyDescriptor[] pds = info.getPropertyDescriptors();
-                for (PropertyDescriptor pd : pds) {
-                    if (!this.properties.containsKey(pd.getName())) {
-                        this.properties.put(pd.getName(), new 
BeanPropertyFull(this.type, pd));
-                    }
-                }
-                populateFromInterfaces(ifs);
-            }
-            Class<?> superclass = aClass.getSuperclass();
-            if (superclass != null) {
-                populateFromInterfaces(superclass);
-            }
-        }
     }
 
     static final class BeanPropertyFull extends BeanProperty {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to