//-------------------------------------------------------------------------------------------------// /// <summary> /// Parse the XML specification string to check its validity. No exceptions are thrown back to the /// calling method. If an error occurs, 'accepted' is set to false and the error message is placed /// in 'errorMessage' where it can be examined by the calling method. Return 'accepted'. /// </summary> /// <param name="xmlSpecification"></param> public virtual ValidationReport Parse(string xmlSpecification) { const string STRLOG_MethodName = "Parse"; Logfile.WriteCalled(STRLOG_ClassName, STRLOG_MethodName); // // Create a new validation report ready to fill in // ValidationReport validationReport = new ValidationReport(); // // Process the XML specification string // try { // // Load XML specification string and get the setup id // XmlDocument xmlDocument = XmlUtilities.GetXmlDocument(xmlSpecification); this.xmlNodeSpecification = XmlUtilities.GetXmlRootNode(xmlDocument, Consts.STRXML_ExperimentSpecification); this.setupId = XmlUtilities.GetXmlValue(this.xmlNodeSpecification, Consts.STRXML_SetupId, false); // // Create an instance of the driver for the specified setup and then // get the driver's execution time for this specification // int executionTime = -1; if (this.setupId.Equals(Consts.STRXML_SetupId_DriverGeneric)) { DriverGeneric driver = new DriverGeneric(this.xmlNodeEquipmentConfig, this); executionTime = driver.GetExecutionTime(); } // // Specification is valid // validationReport.estRuntime = executionTime; validationReport.accepted = true; } catch (Exception ex) { validationReport.errorMessage = ex.Message; } Logfile.WriteCompleted(STRLOG_ClassName, STRLOG_MethodName); return validationReport; }
/// <summary> /// Create a submission report by specifying all values. /// </summary> /// <param name="vReport"></param> /// <param name="experimentID"></param> /// <param name="minTimeToLive"></param> /// <param name="wait"></param> public SubmissionReport(ValidationReport vReport, int experimentID, double minTimeToLive, WaitEstimate wait) { this.vReport = vReport; this.experimentID = experimentID; this.minTimeToLive = minTimeToLive; this.wait = wait; }
/// <summary> /// Constructor specifying only the /// </summary> /// <param name="experimentID"></param> public SubmissionReport(int experimentID) { this.vReport = new ValidationReport(); this.experimentID = experimentID; this.minTimeToLive = 0.0; this.wait = new WaitEstimate(); }