Integrated: 8308152: PropertyDescriptor should work with overridden generic getter method

Sergey Bylokhov serb at openjdk.org
Thu Jun 8 02:55:02 UTC 2023


On Tue, 30 May 2023 19:13:42 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:

> 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

This pull request has now been integrated.

Changeset: 73dd03cc
Author:    Sergey Bylokhov <serb at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/73dd03cc5afa6d1e01a92d0027dcb82af27a48af
Stats:     107 lines in 2 files changed: 105 ins; 0 del; 2 mod

8308152: PropertyDescriptor should work with overridden generic getter method

Reviewed-by: azvegint

-------------

PR: https://git.openjdk.org/jdk/pull/14228



More information about the client-libs-dev mailing list