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):
raise InvalidRequest('Experiment data directory must be provided.')
daqInfo['experimentName'] = experimentName
daqInfo['dataDirectory'] = dataDirectory
print json.dumps(daqInfo)
url += '?experimentName=%s' % experimentName
url += '&dataDirectory=%s' % dataDirectory
#print json.dumps(daqInfo)
url += '?experimentName=%s' % Encoder.encode(experimentName)
url += '&dataDirectory=%s' % Encoder.encode(dataDirectory)
url += '&daqInfo=%s' % (Encoder.encode(json.dumps(daqInfo)))
responseDict = self.sendSessionRequest(url=url, method='POST')
return Experiment(responseDict)
......
......@@ -23,10 +23,15 @@ class ExperimentSessionController(DmSessionController):
experimentName = kwargs.get('experimentName')
if experimentName is None or not len(experimentName):
raise InvalidRequest('Missing experiment name.')
experimentName = Encoder.decode(experimentName)
dataDirectory = kwargs.get('dataDirectory')
if dataDirectory is None or not len(dataDirectory):
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)
return response
......
......@@ -23,10 +23,11 @@ class ExperimentSessionControllerImpl(DmObjectManager):
DmObjectManager.__init__(self)
self.dsExperimentApi = DsRestApiFactory.getExperimentRestApi()
def startDaq(self, experimentName, dataDirectory):
daqInfo={}
daqInfo['experimentName'] = experimentName
daqInfo['dataDirectory'] = dataDirectory
def startDaq(self, experimentName, dataDirectory, daqInfo):
if daqInfo is None:
daqInfo={}
daqInfo['experimentName'] = experimentName
daqInfo['dataDirectory'] = dataDirectory
experiment = ExperimentTracker.getInstance().get(experimentName)
if experiment is not None:
oldDaqInfo = experiment.get('daqInfo')
......
......@@ -40,8 +40,8 @@ public class DaqServiceConnection extends ServiceConnection{
}
Map<String, String> data = new HashMap<>();
data.put(Keyword.DAQ_EXPERIMENT_NAME, experimentName);
data.put(Keyword.DAQ_DATA_DIRECTORY, directory);
data.put(Keyword.DAQ_EXPERIMENT_NAME, encode(experimentName));
data.put(Keyword.DAQ_DATA_DIRECTORY, encode(directory));
if ((new File(dataDir)).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