#!/usr/bin/env python # # Experiment route descriptor. # from dm.common.utility.configurationManager import ConfigurationManager from experimentSessionController import ExperimentSessionController class ExperimentRouteDescriptor: @classmethod def getRoutes(cls): contextRoot = ConfigurationManager.getInstance().getContextRoot() # Static instances shared between different routes experimentSessionController = ExperimentSessionController() # Define routes. routes = [ # Get experiment types { 'name' : 'getExperimentTypes', 'path' : '%s/experimentTypes' % contextRoot, 'controller' : experimentSessionController, 'action' : 'getExperimentTypes', 'method' : ['GET'] }, # Get experiment type by id { 'name' : 'getExperimentTypeById', 'path' : '%s/experimentTypesById/:(id)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'getExperimentTypeById', 'method' : ['GET'] }, # Get experiments { 'name' : 'getExperiments', 'path' : '%s/experiments' % contextRoot, 'controller' : experimentSessionController, 'action' : 'getExperiments', 'method' : ['GET'] }, # Get experiments by station { 'name' : 'getExperimentsByStation', 'path' : '%s/experimentsByStation/:(stationName)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'getExperimentsByStation', 'method' : ['GET'] }, # Get experiment { 'name' : 'getExperimentById', 'path' : '%s/experimentsById/:(id)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'getExperimentById', 'method' : ['GET'] }, # Get experiment { 'name' : 'getExperimentByName', 'path' : '%s/experimentsByName/:(name)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'getExperimentByName', 'method' : ['GET'] }, # Add experiment { 'name' : 'addExperiment', 'path' : '%s/experiments' % contextRoot, 'controller' : experimentSessionController, 'action' : 'addExperiment', 'method' : ['POST'] }, # Start experiment { 'name' : 'startExperiment', 'path' : '%s/experiments/start' % contextRoot, 'controller' : experimentSessionController, 'action' : 'startExperiment', 'method' : ['PUT'] }, # Update experiment { 'name' : 'updateExperiment', 'path' : '%s/experiments/update' % contextRoot, 'controller' : experimentSessionController, 'action' : 'updateExperiment', 'method' : ['PUT'] }, # Stop experiment { 'name' : 'stopExperiment', 'path' : '%s/experiments/stop' % contextRoot, 'controller' : experimentSessionController, 'action' : 'stopExperiment', 'method' : ['PUT'] }, # Authorize download for a given UNIX username { 'name' : 'authorizeDownload', 'path' : '%s/downloadAuthorizations/:(username)/:(experimentName)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'authorizeDownload', 'method' : ['POST'] }, # Revoke authorization download for a given UNIX username { 'name' : 'deauthorizeDownload', 'path' : '%s/downloadAuthorizations/:(username)/:(experimentName)' % contextRoot, 'controller' : experimentSessionController, 'action' : 'deauthorizeDownload', 'method' : ['DELETE'] }, ] return routes