From 74473e69568887ab616447b63e334918453e1521 Mon Sep 17 00:00:00 2001
From: "Barbara B. Frosik" <bfrosik@aps.anl.gov>
Date: Fri, 28 Aug 2015 18:59:06 +0000
Subject: [PATCH] change daq service startDaq not to encode the String

---
 .../dm/daq_web_service/api/experimentRestApi.py |  3 ++-
 .../service/experimentSessionController.py      | 17 +++++++----------
 .../impl/experimentSessionControllerImpl.py     |  7 ++++---
 3 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/src/python/dm/daq_web_service/api/experimentRestApi.py b/src/python/dm/daq_web_service/api/experimentRestApi.py
index cf5c93fd..13d09556 100755
--- a/src/python/dm/daq_web_service/api/experimentRestApi.py
+++ b/src/python/dm/daq_web_service/api/experimentRestApi.py
@@ -21,9 +21,10 @@ class ExperimentRestApi(DaqRestApi):
             raise InvalidRequest('Experiment name must be provided.')
         if dataDirectory is None or not len(dataDirectory):
             raise InvalidRequest('Experiment data directory must be provided.')
+        url += '?dataDirectory=%s' % dataDirectory
+        url += '&experimentName=%s' % experimentName
         daqInfo['experimentName'] = experimentName
         daqInfo['dataDirectory'] = dataDirectory
-        url += '?daqInfo=%s' % (Encoder.encode(json.dumps(daqInfo)))
         responseDict = self.sendSessionRequest(url=url, method='POST')
         return Experiment(responseDict)
 
diff --git a/src/python/dm/daq_web_service/service/experimentSessionController.py b/src/python/dm/daq_web_service/service/experimentSessionController.py
index 36d258df..26f6f39b 100755
--- a/src/python/dm/daq_web_service/service/experimentSessionController.py
+++ b/src/python/dm/daq_web_service/service/experimentSessionController.py
@@ -20,16 +20,13 @@ class ExperimentSessionController(DmSessionController):
     @DmSessionController.require(DmSessionController.isAdministrator())
     @DmSessionController.execute
     def startDaq(self, **kwargs):
-        encodedDaqInfo = kwargs.get('daqInfo')
-        if not encodedDaqInfo:
-            raise InvalidRequest('Invalid DAQ info provided.')
-        daqInfo = json.loads(Encoder.decode(encodedDaqInfo))
-
-        if not daqInfo.has_key('experimentName'):
-            raise InvalidRequest('Experiment name is missing.')
-        if not daqInfo.has_key('dataDirectory'):
-            raise InvalidRequest('Data directory is missing.')
-        response = self.experimentSessionControllerImpl.startDaq(daqInfo).getFullJsonRep()
+	experimentName = kwargs.get('experimentName')
+	if experimentName is None or not len(experimentName):
+	    raise InvalidRequest('Missing experiment name.')
+	dataDirectory = kwargs.get('dataDirectory')
+	if dataDirectory is None or not len(dataDirectory):
+	    raise InvalidRequest('Missing experiment name.')
+        response = self.experimentSessionControllerImpl.startDaq(experimentName, dataDirectory).getFullJsonRep()
         self.logger.debug('Returning: %s' % response)
         return response
 
diff --git a/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py b/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py
index 8301fe22..99ee8d36 100755
--- a/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py
+++ b/src/python/dm/daq_web_service/service/impl/experimentSessionControllerImpl.py
@@ -23,15 +23,16 @@ class ExperimentSessionControllerImpl(DmObjectManager):
         DmObjectManager.__init__(self)
         self.dsExperimentApi = DsRestApiFactory.getExperimentRestApi()
 
-    def startDaq(self, daqInfo):
-        experimentName = daqInfo.get('experimentName')
+    def startDaq(self, experimentName, dataDirectory):
+        daqInfo={}
+	daqInfo['experimentName'] = experimentName
+	daqInfo['dataDirectory'] = dataDirectory
         experiment = ExperimentTracker.getInstance().get(experimentName)
         if experiment is not None:
             oldDaqInfo = experiment.get('daqInfo')
             if oldDaqInfo.get('daqEndTime') is None:
                 raise InvalidRequest('DAQ for experiment %s is already active in directory %s.' % (experimentName,oldDaqInfo.get('dataDirectory')))
 
-        dataDirectory = daqInfo.get('dataDirectory')
         experiment = self.dsExperimentApi.getExperimentByName(experimentName)
         storageDirectory = experiment.get('storageDirectory')
         if storageDirectory is None:
-- 
GitLab