8172808: Handle sun.security.util.Resources bundle in ResourcesMgr in the same way as AuthResources

Reviewed-by: mullan
diff --git a/jdk/src/java.base/share/classes/sun/security/util/LocalizedMessage.java b/jdk/src/java.base/share/classes/sun/security/util/LocalizedMessage.java
index 80957e8..a605dfc 100644
--- a/jdk/src/java.base/share/classes/sun/security/util/LocalizedMessage.java
+++ b/jdk/src/java.base/share/classes/sun/security/util/LocalizedMessage.java
@@ -4,7 +4,9 @@
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
  *
  * This code is distributed in the hope that it will be useful, but WITHOUT
  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
diff --git a/jdk/src/java.base/share/classes/sun/security/util/ResourcesMgr.java b/jdk/src/java.base/share/classes/sun/security/util/ResourcesMgr.java
index 725d21b..276eaca 100644
--- a/jdk/src/java.base/share/classes/sun/security/util/ResourcesMgr.java
+++ b/jdk/src/java.base/share/classes/sun/security/util/ResourcesMgr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,37 +34,24 @@
  */
 public class ResourcesMgr {
     // intended for java.security, javax.security and sun.security resources
-    private final static String RESOURCES = "sun.security.util.Resources";
-    private final static String AUTH_RESOURCES = "sun.security.util.AuthResources";
-
     private final static Map<String, ResourceBundle> bundles = new ConcurrentHashMap<>();
 
     public static String getString(String s) {
-        ResourceBundle bundle = bundles.get(RESOURCES);
-        if (bundle == null) {
-
-            // only load if/when needed
-            bundle = java.security.AccessController.doPrivileged(
-                new java.security.PrivilegedAction<java.util.ResourceBundle>() {
-                public java.util.ResourceBundle run() {
-                    return (java.util.ResourceBundle.getBundle
-                                ("sun.security.util.Resources"));
-                }
-            });
-        }
-
-        return bundle.getString(s);
+        return getBundle("sun.security.util.Resources").getString(s);
     }
 
     public static String getAuthResourceString(String s) {
-        if (VM.initLevel() == 3) {
-            // cannot trigger loading of any resource bundle as
-            // it depends on the system class loader fully initialized.
-            throw new InternalError("system class loader is being initialized");
-        }
+        return getBundle("sun.security.util.AuthResources").getString(s);
+    }
 
-        return bundles.computeIfAbsent(AUTH_RESOURCES, ResourceBundle::getBundle)
-                      .getString(s);
+    private static ResourceBundle getBundle(String bundleName) {
+        if (!VM.isBooted()) {
+            // don't expect this be called before the system is fully initialized.
+            // This triggers loading of any resource bundle that should be
+            // be done during initialization of system class loader.
+            throw new InternalError("Expected to use ResourceBundle only after booted");
+        }
+        return bundles.computeIfAbsent(bundleName, ResourceBundle::getBundle);
     }
 
 }
diff --git a/jdk/test/sun/security/util/Resources/customSysClassLoader/CustomClassLoader.java b/jdk/test/sun/security/util/Resources/customSysClassLoader/CustomClassLoader.java
index 761d442..a2be44c 100644
--- a/jdk/test/sun/security/util/Resources/customSysClassLoader/CustomClassLoader.java
+++ b/jdk/test/sun/security/util/Resources/customSysClassLoader/CustomClassLoader.java
@@ -5,9 +5,7 @@
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * published by the Free Software Foundation.
  *
  * This code is distributed in the hope that it will be useful, but WITHOUT
  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or