Skip to content
Snippets Groups Projects
Commit 4be81e47 authored by Barbara B. Frosik's avatar Barbara B. Frosik
Browse files

added optional daqInfo parameter and encoded name and directory in startDaq protocol

parent edadf84b
No related branches found
No related tags found
No related merge requests found
...@@ -23,9 +23,10 @@ class ExperimentRestApi(DaqRestApi): ...@@ -23,9 +23,10 @@ class ExperimentRestApi(DaqRestApi):
raise InvalidRequest('Experiment data directory must be provided.') raise InvalidRequest('Experiment data directory must be provided.')
daqInfo['experimentName'] = experimentName daqInfo['experimentName'] = experimentName
daqInfo['dataDirectory'] = dataDirectory daqInfo['dataDirectory'] = dataDirectory
print json.dumps(daqInfo) #print json.dumps(daqInfo)
url += '?experimentName=%s' % experimentName url += '?experimentName=%s' % Encoder.encode(experimentName)
url += '&dataDirectory=%s' % dataDirectory url += '&dataDirectory=%s' % Encoder.encode(dataDirectory)
url += '&daqInfo=%s' % (Encoder.encode(json.dumps(daqInfo)))
responseDict = self.sendSessionRequest(url=url, method='POST') responseDict = self.sendSessionRequest(url=url, method='POST')
return Experiment(responseDict) return Experiment(responseDict)
......
...@@ -23,10 +23,15 @@ class ExperimentSessionController(DmSessionController): ...@@ -23,10 +23,15 @@ class ExperimentSessionController(DmSessionController):
experimentName = kwargs.get('experimentName') experimentName = kwargs.get('experimentName')
if experimentName is None or not len(experimentName): if experimentName is None or not len(experimentName):
raise InvalidRequest('Missing experiment name.') raise InvalidRequest('Missing experiment name.')
experimentName = Encoder.decode(experimentName)
dataDirectory = kwargs.get('dataDirectory') dataDirectory = kwargs.get('dataDirectory')
if dataDirectory is None or not len(dataDirectory): if dataDirectory is None or not len(dataDirectory):
raise InvalidRequest('Missing data directory.') raise InvalidRequest('Missing data directory.')
response = self.experimentSessionControllerImpl.startDaq(experimentName, dataDirectory).getFullJsonRep() dataDirectory = Encoder.decode(dataDirectory)
daqInfo = kwargs.get('daqInfo')
if daqInfo is not None:
daqInfo = Encoder.decode(daqInfo)
response = self.experimentSessionControllerImpl.startDaq(experimentName, dataDirectory, daqInfo).getFullJsonRep()
self.logger.debug('Returning: %s' % response) self.logger.debug('Returning: %s' % response)
return response return response
......
...@@ -23,10 +23,11 @@ class ExperimentSessionControllerImpl(DmObjectManager): ...@@ -23,10 +23,11 @@ class ExperimentSessionControllerImpl(DmObjectManager):
DmObjectManager.__init__(self) DmObjectManager.__init__(self)
self.dsExperimentApi = DsRestApiFactory.getExperimentRestApi() self.dsExperimentApi = DsRestApiFactory.getExperimentRestApi()
def startDaq(self, experimentName, dataDirectory): def startDaq(self, experimentName, dataDirectory, daqInfo):
daqInfo={} if daqInfo is None:
daqInfo['experimentName'] = experimentName daqInfo={}
daqInfo['dataDirectory'] = dataDirectory daqInfo['experimentName'] = experimentName
daqInfo['dataDirectory'] = dataDirectory
experiment = ExperimentTracker.getInstance().get(experimentName) experiment = ExperimentTracker.getInstance().get(experimentName)
if experiment is not None: if experiment is not None:
oldDaqInfo = experiment.get('daqInfo') oldDaqInfo = experiment.get('daqInfo')
......
...@@ -40,8 +40,8 @@ public class DaqServiceConnection extends ServiceConnection{ ...@@ -40,8 +40,8 @@ public class DaqServiceConnection extends ServiceConnection{
} }
Map<String, String> data = new HashMap<>(); Map<String, String> data = new HashMap<>();
data.put(Keyword.DAQ_EXPERIMENT_NAME, experimentName); data.put(Keyword.DAQ_EXPERIMENT_NAME, encode(experimentName));
data.put(Keyword.DAQ_DATA_DIRECTORY, directory); data.put(Keyword.DAQ_DATA_DIRECTORY, encode(directory));
if ((new File(dataDir)).exists()) { if ((new File(dataDir)).exists()) {
if ((new File(directory)).exists()) { if ((new File(directory)).exists()) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment