aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/java/util/prefs/Preferences.java25
2 files changed, 22 insertions, 10 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index a5adfdf..c462704 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,10 @@
+2003-10-08 Michael Koch <konqueror@gmx.de>
+
+ * java/util/prefs/Preferences.java
+ (defaultFactoryClass): Fixed class name.
+ (getFactory): Create instance of class returned by Class.forName(),
+ reformated code.
+
2003-10-08 Arnaud Vandyck <arnaud.vandyck@ulg.ac.be>
* javax/swing/table/AbstractTableModel.java
diff --git a/libjava/java/util/prefs/Preferences.java b/libjava/java/util/prefs/Preferences.java
index af25359..ab4874b 100644
--- a/libjava/java/util/prefs/Preferences.java
+++ b/libjava/java/util/prefs/Preferences.java
@@ -92,11 +92,11 @@ public abstract class Preferences {
* Default PreferencesFactory class used when the system property
* "java.util.prefs.PreferencesFactory" is not set.
* <p>
- * XXX - Currently set to MemoryBasedPreferencesFactory, should be changed
+ * XXX - Currently set to MemoryBasedFactory, should be changed
* when FileBasedPreferences backend works.
*/
private static final String defaultFactoryClass
- = "gnu.java.util.prefs.MemoryBasedPreferencesFactory";
+ = "gnu.java.util.prefs.MemoryBasedFactory";
/** Permission needed to access system or user root. */
private static final Permission prefsPermission
@@ -210,18 +210,23 @@ public abstract class Preferences {
});
// Still no factory? Use our default.
- if (factory == null) {
- try {
- Object o = Class.forName(defaultFactoryClass);
- factory = (PreferencesFactory) o;
- } catch (ClassNotFoundException cnfe) {
- throw new RuntimeException("Couldn't load default factory"
+ if (factory == null)
+ {
+ try
+ {
+ Class cls = Class.forName (defaultFactoryClass);
+ factory = (PreferencesFactory) cls.newInstance();
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException ("Couldn't load default factory"
+ " '"+ defaultFactoryClass +"'");
// XXX - when using 1.4 compatible throwables add cause
- }
- }
+ }
+ }
}
+
return factory;
}