<Beans Dev> [9] Review Request: 8146313 The java.beans.Statement.invoke() method handles 3-arg Class.forName incorrectly
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Thu May 12 14:15:39 UTC 2016
On 10.05.16 19:57, Semyon Sadetsky wrote:
>> Same as Class.forName(): "java.lang.ClassNotFoundException: int"
> It is not obvious. You check package access for primitive types which is
> suspicious.
> You test the returning value to be in accordance with the
> Class.forName() spec. Why not to test the checked exception which are
> the part of the same spec?
Please review an updated version of the test, validation of the
exception when an invalid data was passed is added.
http://cr.openjdk.java.net/~serb/8146313/webrev.04
>
> --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
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>
--
Best regards, Sergey.
More information about the beans-dev
mailing list