// Testing purposes only public static void run() { if (File.Exists("C:\\EVS\\experiments\\Exp1\\Sess1\\Tr1\\displayParser.log")) { File.Delete("C:\\EVS\\experiments\\Exp1\\Sess1\\Tr1\\displayParser.log"); } TextWriter log = null; try { log = new StreamWriter("C:\\EVS\\experiments\\Exp1\\Sess1\\Tr1\\displayParser.log"); DisplayFileParser parser = new DisplayFileParser("C:\\EVS\\experiments\\Exp1\\Sess1\\Tr1\\Exp1_Sess1_Tr5_disp.xml"); Console.WriteLine(" validating file"); if (parser.validate()) { Hashtable data = parser.retrieveGlobalDisplayData(); if (data == null) { log.WriteLine(" display data null"); return; } System.Collections.IDictionaryEnumerator itr = data.GetEnumerator(); while (itr.MoveNext()) { Object value = itr.Value; if (value is List <ObjectData> ) { List <ObjectData> list = (List <ObjectData>)value; foreach (ObjectData thisData in list) { log.WriteLine(thisData.objName + " : " + thisData.objFilePath + " : " + thisData.isTargetObject); } } else { log.WriteLine(itr.Key.ToString() + " : " + itr.Value.ToString()); } } } else { log.WriteLine("not valid!!"); } } finally { log.Flush(); log.Close(); } }
//test routine private static void testXmlParser(string displayFileName) { DisplayFileParser parser = new DisplayFileParser(displayFileName); if (parser.validate()) { Console.WriteLine("Success"); Hashtable data = parser.getDisplayData(); if (data == null) { Console.WriteLine(" No Data found "); return; } System.Collections.IDictionaryEnumerator itr = data.GetEnumerator(); while (itr.MoveNext()) { Console.WriteLine(itr.Entry.Key + " : " + itr.Entry.Value); } } }
/** * Entry routine to display graphics and replay the trial * */ public static void display(String speedFactor) { if (!File.Exists(displayFileName)) { log.WriteLine("display file : " + displayFileName + " does not exist : Aborting Replay"); log.Flush(); throw new ATLogicException("display file : " + displayFileName + " does not exist : Aborting Replay"); } SPEED_FACTOR = speedFactor; try { try { if (log != null) { log.Close(); } } catch (Exception ignore) { } String logFileName = "C:\\replay.log"; if (File.Exists(logFileName)) { File.Delete(logFileName); } log = new StreamWriter(logFileName); // display file exists and Log file has been created //Now read the Display File and Display the Trial populateDisplayFormData(); // if Validation Throws an Exception, then Replay is Aborted. try { validateObjectFilePaths(); } catch (ATLogicException logic) { throw; // Fatal Erroe. Cannot replay trial } if (timeStampDataQueue.Count == 0) { throw new ATLogicException("No time Stamp data Obtained for Display File: " + displayFileName + " : Aborting Replay"); } int totalTimeStamps = timeStampDataQueue.Count; setupGraphicsWindow(); // timeStampDataQueue.Clear(); // finally{ if (parser != null) { parser = null; } log.WriteLine(" End of Replay Trial : " + DisplayFileName); log.Flush(); log.Close(); log = null; // } } catch (Exception e) { throw; } /* * finally * { * // timeStampDataQueue.Clear(); * parser.close(); * parser = null; * log.WriteLine(" End of Replay Trial : " + DisplayFileName); * log.Flush(); * log.Close(); * * } * */ }
private static void populateDisplayFormData() { try { parser = new DisplayFileParser(displayFileName); if (parser.validate()) { Hashtable displayData = parser.retrieveGlobalDisplayData(); if (displayData == null) { log.WriteLine(" display data null"); return; } if (displayData.ContainsKey("GridDisplay")) { formSetting.GridDisplay = Convert.ToInt32(displayData["GridDisplay"]); } if (displayData.ContainsKey("X")) { formSetting.DisplayX = Convert.ToInt32(displayData["X"]); } if (displayData.ContainsKey("Y")) { formSetting.DisplayY = Convert.ToInt32(displayData["Y"]); } if (displayData.ContainsKey("BGA")) { formSetting.BGA = Convert.ToInt32(displayData["BGA"]); } if (displayData.ContainsKey("BGR")) { formSetting.BGR = Convert.ToInt32(displayData["BGR"]); } if (displayData.ContainsKey("BGG")) { formSetting.BGG = Convert.ToInt32(displayData["BGG"]); } if (displayData.ContainsKey("BGB")) { formSetting.BGB = Convert.ToInt32(displayData["BGB"]); } if (displayData.ContainsKey("FGA")) { formSetting.FGA = Convert.ToInt32(displayData["FGA"]); } if (displayData.ContainsKey("FGR")) { formSetting.FGR = Convert.ToInt32(displayData["FGR"]); } if (displayData.ContainsKey("FGG")) { formSetting.FGG = Convert.ToInt32(displayData["FGG"]); } if (displayData.ContainsKey("FGB")) { formSetting.FGB = Convert.ToInt32(displayData["FGB"]); } objects.Add("gaze", "gaze.bmp"); System.Collections.IDictionaryEnumerator itr = displayData.GetEnumerator(); while (itr.MoveNext()) { Object value = itr.Value; if (value is List <ObjectData> ) { List <ObjectData> list = (List <ObjectData>)value; foreach (ObjectData thisData in list) { objects.Add(thisData.objName, thisData.objFilePath); if (thisData.isTargetObject == 1) { formSetting.addTargetObject(thisData.objName); } // log.WriteLine(thisData.objName + " : " + thisData.objFilePath + " : " + thisData.isTargetObject); } } } enQueueTimeStampData(); } } catch (Exception e) { // do nothing throw; } finally { parser.close(); } }