From 308cb3d30ab9b94b71bd6756bb64253f5ddc7f9c Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Thu, 8 Oct 2015 07:03:39 +0000
Subject: [PATCH] changes to support login file

---
 .../dm/common/utility/configurationManager.py | 21 ++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/python/dm/common/utility/configurationManager.py b/src/python/dm/common/utility/configurationManager.py
index 3ee50aee..55cf8e3c 100755
--- a/src/python/dm/common/utility/configurationManager.py
+++ b/src/python/dm/common/utility/configurationManager.py
@@ -70,6 +70,9 @@ DEFAULT_DM_SSL_CA_CERT_FILE = None
 DEFAULT_DM_SSL_CERT_FILE = None
 DEFAULT_DM_SSL_KEY_FILE = None
 
+# Login (user|password) file
+DEFAULT_DM_LOGIN_FILE = None
+
 class ConfigurationManager(UserDict.UserDict):
     """ 
     Singleton class used for keeping system configuration data. The class
@@ -149,7 +152,10 @@ class ConfigurationManager(UserDict.UserDict):
         self['defaultSslCaCertFile'] = DEFAULT_DM_SSL_CA_CERT_FILE
         self['defaultSslCertFile'] = DEFAULT_DM_SSL_CERT_FILE
         self['defaultSslKeyFile'] = DEFAULT_DM_SSL_KEY_FILE
-                                                                                        # Settings that might come from environment variables.
+
+        self['defaultLoginFile'] = DEFAULT_DM_LOGIN_FILE
+
+        # Settings that might come from environment variables.
         self.__setFromEnvVar('logFile', 'DM_LOG_FILE')
         self.__setFromEnvVar('consoleLogLevel', 'DM_CONSOLE_LOG_LEVEL')
         self.__setFromEnvVar('fileLogLevel', 'DM_FILE_LOG_LEVEL')
@@ -182,6 +188,7 @@ class ConfigurationManager(UserDict.UserDict):
 
         self.__setFromEnvVar('configFile', 'DM_CONFIG_FILE')
         self.__setFromEnvVar('dbPasswordFile', 'DM_DB_PASSWORD_FILE')
+        self.__setFromEnvVar('loginFile', 'DM_LOGIN_FILE')
 
         # Settings that might come from file.
         self.__setFromVarFile('dbPassword', self.getDbPasswordFile())
@@ -791,6 +798,18 @@ class ConfigurationManager(UserDict.UserDict):
     def hasPassword(self):
         return self.has_key('password')
 
+    def getDefaultLoginFile(self):
+        return self['defaultLoginFile']
+
+    def getLoginFile(self, default='__dm_default__'):
+        return self.__getKeyValue('loginFile', default) 
+
+    def setLoginFile(self, f):
+        self['loginFile'] = f
+
+    def hasLoginFile(self):
+        return self.has_key('loginFile')
+
 #######################################################################
 # Testing.
 
-- 
GitLab