Hi Sergey, Thanks for confirming. Filed https://bugs.openjdk.java.net/browse/JDK-8221244
Dmitry > On Mar 21, 2019, at 1:35 AM, Sergey Bylokhov <[email protected]> > wrote: > > Hi, Dmitry. > > Thank you for this report. Do you have a bugid for it? > > On 19/03/2019 09:55, Dmitry Cherepanov wrote: >> Hello, >> The behavior of PropertyDescription.getReadMethod() method changed for >> boolean properties when both “is” and “get” getters are provided in bean >> class. >> The following sample demonstrates this issue >> http://cr.openjdk.java.net/~dcherepanov/beans/BoolealPropertyTest/Test.java >> For 8, getReadMethod() returns the “is” getter >> Starting from 9, getReadMethod() returns the “get” getter >> This seems to be a behavior change introduced by [1] for [2] in >> PropertyInfo.initialize() where the “get” getters (stored in this.readList) >> overwrite the “is” getter (stored in this.read). >> I’m trying to understand if this behavior is covered by spec and after >> reading JavaBeans API specification (version 1.01, section “8.3.2 Boolean >> properties”) >> ------------------------------------------------------------------------------------- >> This “is<PropertyName>” method may be provided instead of a >> “get<PropertyName>” method, or it may be provided in addition to a >> “get<PropertyName>” method. In either case, if the “is<PropertyName>” method >> is present for a boolean property then we will use the “is<PropertyName>” >> method to read the property value. >> ------------------------------------------------------------------------------------- >> it seems like it’s covered and getReadMethod() should return the “is” getter >> in this case. I plan to file bug for this and prepare a patch (that would >> restore the behavior of getReadMethod()) but wanted to confirm the >> evaluation makes sense. >> Thanks, >> Dmitry >> [1] http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/cf25509c9243#l4.72 >> [2] https://bugs.openjdk.java.net/browse/JDK-4058433 > > > -- > Best regards, Sergey.
