From 7e184d67e5db5b587529bc40da1edfba0a3bff6e Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 30 Sep 2014 09:49:34 -0700 Subject: [PATCH] handle transition from dashed JSON settings keys to underscore --- .../src/DomainServerSettingsManager.cpp | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/domain-server/src/DomainServerSettingsManager.cpp b/domain-server/src/DomainServerSettingsManager.cpp index fc36a97a25..b5d7df65cf 100644 --- a/domain-server/src/DomainServerSettingsManager.cpp +++ b/domain-server/src/DomainServerSettingsManager.cpp @@ -39,6 +39,28 @@ DomainServerSettingsManager::DomainServerSettingsManager() : void DomainServerSettingsManager::setupConfigMap(const QStringList& argumentList) { _configMap.loadMasterAndUserConfig(argumentList); + + // for now we perform a temporary transition from http-username and http-password to http_username and http_password + const QVariant* oldUsername = valueForKeyPath(_configMap.getUserConfig(), "security.http-username"); + const QVariant* oldPassword = valueForKeyPath(_configMap.getUserConfig(), "security.http-password"); + + if (oldUsername || oldPassword) { + QVariantMap& settingsMap = *reinterpret_cast(_configMap.getUserConfig()["security"].data()); + + // remove old keys, move to new format + if (oldUsername) { + settingsMap["http_username"] = oldUsername->toString(); + settingsMap.remove("http-username"); + } + + if (oldPassword) { + settingsMap["http_password"] = oldPassword->toString(); + settingsMap.remove("http-password"); + } + + // save the updated settings + persistToFile(); + } } const QString SETTINGS_PATH = "/settings.json";