<Beans Dev> [9] Review Request: 8146313 The java.beans.Statement.invoke() method handles 3-arg Class.forName incorrectly

Semyon Sadetsky semyon.sadetsky at oracle.com
Mon Apr 25 18:44:23 UTC 2016


Hi Sergey,

Could you add primitive class case to the test?

--Semyon

On 4/22/2016 7:20 PM, Sergey Bylokhov wrote:
> Hello.
> Please review the fix for jdk9(the fix was discussed offline already).
>
> The Statement class can execute the methods and pass some parameters 
> for them. It can be used to store the statement(method call+parameter) 
> in xml and load it when necessary. This class has special case for 
> Class.forName() because it provides some additional features(for 
> example it uses a different class loaders and supports primitive 
> types). But it does not take into account that there is the second 
> 3-args forName() method. It was fixed in the change.
>
> 3-args forName() method is considered as a usual method which will be 
> executed for provided class+classloadder. The additional check for 
> package access is added. Note that I added a code to always clone the 
> list of arguments just as an additional safeness for the future changes.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8146313
> Webrev can be found at: 
> http://cr.openjdk.java.net/~serb/8146313/webrev.03
>



More information about the beans-dev mailing list