<Beans Dev>  Review Request: 8156043 Unstable behavior of PropertyDescriptor's getWriteMethod() in case of overloaded setters
Sergey.Bylokhov at oracle.com
Wed May 25 11:14:23 UTC 2016
On 25.05.16 11:38, Semyon Sadetsky wrote:
>> In this case the type of foo property will be Enum, before and after
>> the fix. But the write method will be found only if this method is
>> added to Sub, in other case the write method is recognized only if we
>> remove all duplicates of set(xxx). Not sure is it intended behavior in
>> jdk9 to skip such writers or not. I will file CR for that.
> That maybe an another issue.
I dig to the history and found that it was done intentionally when
JavaBean jep was implemented. but I filed
https://bugs.openjdk.java.net/browse/JDK-8157828 for additional
> But the current fix need to be checked by
> the scenario when there are several getters (over-ridden with the return
> type substitutability) in addition to the setters.
Tescase is updated, the case: getE + multiple setE is added:
>>> On 5/17/2016 3:20 PM, Sergey Bylokhov wrote:
>>>> Please review the fix for jdk9.
>>>> We have a number of bugs which state that our JavaBeans randomly does
>>>> not work, examples: JDK-6807471 , JDK-6788525, the reason is
>>>> that the order of methods from Class.getMethods() is not specified.
>>>> So I propose to fix this bug totally and sort the methods in some
>>>> order. Note that the resulted list is cached, and we sort the list
>>>> only the once.
>>>> The code partly was copied from com.sun.jmx.mbeanserver.MethodOrder
>>>> , but the parameters check and the order for return values were
>>>> changed. After this fix our bugs(if any) can be easily reproduced.
>>>>  https://bugs.openjdk.java.net/browse/JDK-6807471
>>>>  https://bugs.openjdk.java.net/browse/JDK-6788525
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8156043
>>>> Webrev can be found at:
Best regards, Sergey.
More information about the beans-dev