< prev index next >

src/java.prefs/share/classes/java/util/prefs/Preferences.java

Print this page

        

@@ -236,27 +236,29 @@
             // FIXME: This code should be run in a doPrivileged and
             // not use the context classloader, to avoid being
             // dependent on the invoking thread.
             // Checking AllPermission also seems wrong.
             try {
-                return (PreferencesFactory)
-                    Class.forName(factoryName, false,
+                @SuppressWarnings("deprecation")
+                Object result =Class.forName(factoryName, false,
                                   ClassLoader.getSystemClassLoader())
                     .newInstance();
+                return (PreferencesFactory)result;
             } catch (Exception ex) {
                 try {
                     // workaround for javaws, plugin,
                     // load factory class using non-system classloader
                     SecurityManager sm = System.getSecurityManager();
                     if (sm != null) {
                         sm.checkPermission(new java.security.AllPermission());
                     }
-                    return (PreferencesFactory)
-                        Class.forName(factoryName, false,
+                    @SuppressWarnings("deprecation")
+                    Object result = Class.forName(factoryName, false,
                                       Thread.currentThread()
                                       .getContextClassLoader())
                         .newInstance();
+                    return (PreferencesFactory) result;
                 } catch (Exception e) {
                     throw new InternalError(
                         "Can't instantiate Preferences factory "
                         + factoryName, e);
                 }

@@ -297,13 +299,14 @@
             platformFactory = "java.util.prefs.MacOSXPreferencesFactory";
         } else {
             platformFactory = "java.util.prefs.FileSystemPreferencesFactory";
         }
         try {
-            return (PreferencesFactory)
-                Class.forName(platformFactory, false,
+            @SuppressWarnings("deprecation")
+            Object result = Class.forName(platformFactory, false,
                               Preferences.class.getClassLoader()).newInstance();
+            return (PreferencesFactory) result;
         } catch (Exception e) {
             throw new InternalError(
                 "Can't instantiate platform default Preferences factory "
                 + platformFactory, e);
         }
< prev index next >