From 49959191a595a1719fa3f5ca3dd20697dce4d620 Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Mon, 29 Jun 2015 16:40:33 +0000
Subject: [PATCH] fix service host/port issue for base cli class

---
 src/python/dm/common/cli/dmCli.py     | 22 +---------------------
 src/python/dm/common/cli/dmRestCli.py | 23 +++++++++++++++++++++++
 2 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/src/python/dm/common/cli/dmCli.py b/src/python/dm/common/cli/dmCli.py
index 4cde64ba..aeaec308 100755
--- a/src/python/dm/common/cli/dmCli.py
+++ b/src/python/dm/common/cli/dmCli.py
@@ -32,8 +32,6 @@ class DmCli(object):
         self.options = {}
         self.args = []
         self.validArgCount = validArgCount
-        self.serviceHost = None
-        self.servicePort = None
         self.optionGroupDict = {}
 
         commonGroup = 'Common Options'
@@ -121,27 +119,9 @@ class DmCli(object):
             if consoleLogLevel:
                 LoggingManager.getInstance().setConsoleLogLevel(consoleLogLevel)
 
-        # Service host, port, etc.
-        configManager = ConfigurationManager.getInstance()
-        self.serviceHost = self.options.serviceHost
-        configManager.setServiceHost(self.serviceHost)
-        self.servicePort = self.options.servicePort
-        configManager.setServicePort(self.servicePort)
-        self.serviceProtocol = self.options.serviceProtocol
-        configManager.setServiceProtocol(self.serviceProtocol)
-
-        # SSL options, comment out for now
-        #self.sslCaCertFile = self.options.sslCaCertFile
-        #if self.sslCaCertFile:
-        #    configManager.setSslCaCertFile(self.sslCaCertFile)
-        #self.sslCertFile = self.options.sslCertFile
-        #if self.sslCertFile:
-        #    configManager.setSslCertFile(self.sslCertFile)
-        #self.sslKeyFile = self.options.sslKeyFile
-        #if self.sslKeyFile:
-        #    configManager.setSslKeyFile(self._sslKeyFile)
 
         # Check session cache.
+        configManager = ConfigurationManager.getInstance()
         try:
             self.checkSessionCache()
         except Exception, ex:
diff --git a/src/python/dm/common/cli/dmRestCli.py b/src/python/dm/common/cli/dmRestCli.py
index 42f9b866..291451d3 100755
--- a/src/python/dm/common/cli/dmRestCli.py
+++ b/src/python/dm/common/cli/dmRestCli.py
@@ -8,6 +8,8 @@ class DmRestCli(DmCli):
 
     def __init__(self, validArgCount=0):
         DmCli.__init__(self, validArgCount)
+        self.serviceHost = None
+        self.servicePort = None
 
         serviceGroup = 'Service Options'
         self.addOptionGroup(serviceGroup, None)
@@ -30,3 +32,24 @@ class DmRestCli(DmCli):
     def getDefaultServiceProtocol(self):
         return ConfigurationManager.getInstance().getWebServiceProtocol()
 
+    def parseArgs(self, usage=None):
+        DmCli.parseArgs(self, usage)
+        configManager = ConfigurationManager.getInstance()
+        self.serviceHost = self.options.serviceHost
+        configManager.setServiceHost(self.serviceHost)
+        self.servicePort = self.options.servicePort
+        configManager.setServicePort(self.servicePort)
+        self.serviceProtocol = self.options.serviceProtocol
+        configManager.setServiceProtocol(self.serviceProtocol)
+
+        # SSL options, comment out for now
+        #self.sslCaCertFile = self.options.sslCaCertFile
+        #if self.sslCaCertFile:
+        #    configManager.setSslCaCertFile(self.sslCaCertFile)
+        #self.sslCertFile = self.options.sslCertFile
+        #if self.sslCertFile:
+        #    configManager.setSslCertFile(self.sslCertFile)
+        #self.sslKeyFile = self.options.sslKeyFile
+        #if self.sslKeyFile:
+        #    configManager.setSslKeyFile(self._sslKeyFile)
+
-- 
GitLab