On 5/27/2016 4:19 PM, Sergey Bylokhov wrote:
On 27.05.16 15:37, Semyon Sadetsky wrote:
It is obviously that the added code discards nothing, it is a wrapper
on top of the Class.getMethods(), which make the order of methods stable.
Right. But only the first overloaded method in this order will survive.
So one way or another this order determines which property to discard.

Now you can reread the first sentence in the review request:
"We have a number of bugs which state that our JavaBeans randomly does not work, examples: JDK-6807471[1] , JDK-6788525[2], the reason is that the order of methods from Class.getMethods() is not specified"

Summarize what I said a few times:
- We have a number of bugs which we cannot reproduce and after the fix it will be an easy task. - The fix does not change the logic of selection or discarding the properties. All cases was possible before the fix with some probability.
 - The goal of the fix is to remove randomness of our behavior.
- A separate bug was filed to investigate the reason of some behavior. Those bug will be fixed(if will) via separate fix in another part of the code, where we actually take care about hierarchy of classes and types.
Sergey, what do you think, may this misunderstanding be caused by the bug title: "Unstable behavior of PropertyDescriptor's getWriteMethod() in case of overloaded setters" ? And, of cause, by the test mentioned in the bug summary, and the test proposed in your fix, which examines the Introspector. getPropertyDescriptors(), not the Class.getMethods()?


Reply via email to