From 0bdefbf053beb80736eff0a13fe8b90618c8d6dc Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Fri, 21 Dec 2018 22:56:09 +0000
Subject: [PATCH] ServerConfiguration is also stored in json.
---
borgbutler-server/src/main/java/de/micromata/borgbutler/server/user/SingleUserManager.java | 29 +++++++++++++++++++----------
1 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/user/SingleUserManager.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/user/SingleUserManager.java
index b7f2528..0391b8d 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/user/SingleUserManager.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/user/SingleUserManager.java
@@ -2,11 +2,12 @@
import de.micromata.borgbutler.server.Languages;
import de.micromata.borgbutler.server.RunningMode;
-import de.micromata.borgbutler.server.ServerConfigurationHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Locale;
+import java.util.prefs.BackingStoreException;
+import java.util.prefs.Preferences;
/**
* Contains only one (dummy) user (for desktop version).
@@ -15,6 +16,7 @@
private static final String USER_LOCAL_PREF_KEY = "userLocale";
private static Logger log = LoggerFactory.getLogger(SingleUserManager.class);
private UserData singleUser;
+ private Preferences preferences;
public SingleUserManager() {
if (RunningMode.getUserManagement() != RunningMode.UserManagement.SINGLE) {
@@ -22,14 +24,11 @@
+ "'. Only allowed in '" + RunningMode.UserManagement.SINGLE + "'.");
}
log.info("Using SingleUserManger as user manager.");
+ preferences = Preferences.userRoot().node("de").node("micromata").node("borgbutler");
singleUser = new UserData();
singleUser.setUsername("admin");
singleUser.setAdmin(true);
- String language = ServerConfigurationHandler.getInstance().get("userLocale", null);
- Locale locale = Languages.asLocale(language);
- singleUser.setLocale(locale);
- String dateFormat = ServerConfigurationHandler.getInstance().get("userDateFormat", null);
- singleUser.setDateFormat(dateFormat);
+ load(singleUser);
}
public UserData getUser(String id) {
@@ -37,10 +36,10 @@
}
/**
- * Stores only the user's configured locale.
+ * Stores only the user's configured locale as preference.
*
* @param userData
- * @see ServerConfigurationHandler#save(String, String)
+ * @see Preferences
*/
@Override
public void saveUser(UserData userData) {
@@ -49,7 +48,17 @@
String dateFormat = userData.getDateFormat();
this.singleUser.setDateFormat(dateFormat);
String lang = Languages.asString(locale);
- ServerConfigurationHandler.getInstance().save("userLocale", lang);
- ServerConfigurationHandler.getInstance().save("userDateFormat", dateFormat);
+ preferences.put(USER_LOCAL_PREF_KEY, lang);
+ try {
+ preferences.flush();
+ } catch (BackingStoreException ex) {
+ log.error("Can't save user locale to preferences: " + ex.getMessage(), ex);
+ }
+ }
+
+ private void load(UserData userData) {
+ String language = preferences.get(USER_LOCAL_PREF_KEY, "en");
+ Locale locale = Languages.asLocale(language);
+ singleUser.setLocale(locale);
}
}
--
Gitblit v1.10.0