[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