[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-2d-dev
Subject: RFR: 8308152: PropertyDescriptor should work with overridden generic getter method
From: Sergey Bylokhov <serb () openjdk ! org>
Date: 2023-05-31 22:28:35
Message-ID: y3357eddJ39AoMw91PyDmOwMBqN_4zdBYoLBgQAazHo=.9ed77076-7332-4bbe-ac5f-631c511eaed5 () github ! com
[Download RAW message or body]
Description of the bug, copied from https://github.com/openjdk/jdk/pull/7190
> In jdk 9 we started to sort the list of methods for each class for two reasons:
> 1. We had a number of bugs which state that our JavaBeans randomly does not work, \
> examples: JDK-6807471[1] , JDK-6788525[2], the reason was that the order of methods \
> from Class.getMethods() is not specified. 2. We tried to sort methods so the more \
> specific returns types come first, this was done because our logic for selecting \
> the correct method did not work properly.
> The second issue above was fixed by the separate change \
> [JDK-8196373](https://bugs.openjdk.java.net/browse/JDK-8196373) so now we only need \
> to sort the list of methods in any order and do not care about return types.
Unfortunatly it was found that we have two code paths to create a PropertyDescriptor, \
one of them is used by the `Introspector.getBeanInfo` and was patched by the \
[JDK-8196373](https://bugs.openjdk.java.net/browse/JDK-8196373) and another when the \
PropertyDescriptor is created directly and it still affected by that bug.
The code added by this patch is the same we already use in PropertyInfo.java, see
https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/classes/com/sun/beans/introspect/PropertyInfo.java#L81
-------------
Commit messages:
- 8308152: PropertyDescriptor should work with overridden generic getter method
Changes: https://git.openjdk.org/jdk/pull/14228/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14228&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8308152
Stats: 107 lines in 2 files changed: 105 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/14228.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/14228/head:pull/14228
PR: https://git.openjdk.org/jdk/pull/14228
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic