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/ 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: HYPERLINK "http://cr.openjdk.java.net/%7Ekaddepalli/8197785/webrev00/"http://cr.openjdk.java.net/~kaddepalli/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