Hi Krishna,
Is there any reason to use Hashmap. It seems the synchronization is
surplus here and its better to use HashMap.
--Semyon
On 03/05/2018 05:39 AM, Krishna Addepalli wrote:
Hi Phil
Thank you for the review.
I have checked the accessibility package, and found that contains is
used with a Vector of AccessibleState objects in the file
AccessibleStateset.
However in AccessibilityBundle, the table is used to store a set of
values associated with a particular locale, and going by the context,
I find little reason that using contains is intentional here.
And regarding the testcase, the thought of making it headless crossed
my mind while writing it, but I was not sure if just creating a Button
is allowed in headless mode.
Fortunately, I modified the testcase enough that, no swing widgets
need to be created, and we can safely run the test in headless mode.
Here is the new webrev:
http://cr.openjdk.java.net/~kaddepalli/8197785/webrev01/
<http://cr.openjdk.java.net/%7Ekaddepalli/8197785/webrev01/>
Thanks,
Krishna
*From:*Philip Race
*Sent:* Saturday, March 3, 2018 9:44 PM
*To:* Krishna Addepalli <krishna.addepa...@oracle.com>
*Cc:* swing-dev@openjdk.java.net
*Subject:* Re: <Swing Dev>
[11][JDK-8197785]javax.accessibility.AccessibilityBundle will reload
the ResourceBundle for every call to toDisplayString
The fix is straightforward and I've seen this bug pattern before.
In fact there may even have been a sweep for uses of contains() to
make sure it was as intended,
but if so it wasn't thorough enough.
But I'm wondering why the test extends Button and not JButton ?
I'm then further wondering if it could then be made headless .. ie no
need to create or display a Frame ?
-phil.
On 3/3/18, 6:30 AM, Krishna Addepalli wrote:
Hi All,
Please review a simple fix for JDK-8197785:
https://bugs.openjdk.java.net/browse/JDK-8197785
Webrev: http://cr.openjdk.java.net/~kaddepalli/8197785/webrev00/
<http://cr.openjdk.java.net/%7Ekaddepalli/8197785/webrev00/>
As the bug description suggests,
AccessibleBundle.loadResourceBundle has the line “table.contains”
which causes it to reload the resource bundle for each call.
Changing it to “table.containsKey” fixes the problem.
Thanks,
Krishna