/********************************************************************** * * * checkForNewExperiment() * * **********************************************************************/ /** <summary> Sends a request to the server if an experiment is queued. </summary> <remarks> insert detailed description for checkForNewExperiment here... @cond INTERNAL documented by t.wilhelmer, 8.11.2015 @endcond </remarks> <param name="restAPI">In: RESTapi object with personalized x-apikey and userID. </param> <returns>New status for state machine. </returns> */ public Status checkForNewExperiment(RestAPI restAPI) { GETStatusResponse expResponse = new GETStatusResponse(); try { expResponse = (GETStatusResponse)restAPI.GETRequest(RequestEndpoint.status); } catch(Exception e) { logger.errorLog("An exception occurred in checkForNewExperiment() using apis/engine/experiment/" + RequestEndpoint.status); logger.errorLog("Exception message:"); logger.errorLog(e.Message); return Status.EXCEPTION; } if (expResponse.success == true) { Console.WriteLine("\nExperiment found!"); logger.log("checkForNewExperiment()"); logger.log("(" + expResponse.timestamp + ") - Experiment found : ExpId = " + expResponse.expId + "\n"); return Status.DEQUEUEEXPERIMENT; } else { Console.WriteLine("No experiment found!"); return Status.CHECKFOREXPERIMENT; } }
/********************************************************************** * * * dequeueExperiment() * * **********************************************************************/ /** <summary> Sends request to server i order to retrieve experiment specification. </summary> <remarks> @cond INTERNAL documented by t.wilhelmer, 8.11.2015 @endcond </remarks> <param name="restAPI">In: RESTapi object with personalized x-apikey and userID. </param> <returns>New status for state machine. </returns> */ public Status dequeueExperiment(RestAPI restAPI) { try { expData = (GETExperimentResponse)restAPI.GETRequest(RequestEndpoint.experiment); } catch(Exception e) { logger.errorLog("An exception occurred in dequeueExperiment() using apis/engine/experiment/" + RequestEndpoint.experiment); logger.errorLog("Exception message:"); logger.errorLog(e.Message); return Status.EXCEPTION; } logger.log("dequeueExperiment()"); logger.log("(" + expData.timestamp + ") - " + expData.message + "\n"); if (expData.success == true) return Status.PERFORMEXPERIMENT; else { errorReport = postExperimentRequest.errorReport; return Status.ERROR; } }