/// <summary>Generic constructor.</summary> /// <param name="File"></param> /// <param name="OutputItems"></param> internal DataReader(DataReaderSettings ReaderSettings) { this._settings = ReaderSettings; }
/// <summary>Base constructor plus filelocation</summary> internal PythonReader(DataReaderSettings ReaderSettings, String FileLocation) : base(ReaderSettings) { this._fileloc = new FileInfo(FileLocation); this._items = null; }
internal static void LoadDataReaders() { FileInfo fi_dataitems = new FileInfo(Config.GetSetting("filelocation_xmlsettings") + "DataReaders.xml"); if (!fi_dataitems.Exists) throw new FileNotFoundException("DataReader.xml not found!"); Exception xmlex = null; List<DataReaderSettings> readers = new List<DataReaderSettings>(); using (XmlReader xr = new XmlTextReader(fi_dataitems.OpenText())) { try { xr.ReadStartElement(); while (xr.Read()) { if (xr.NodeType == XmlNodeType.Element && xr.Name == "DataReader") { DataReaderSettings drs = null; String temp = xr.GetAttribute("name"); if (String.IsNullOrEmpty(temp)) throw new FormatException("DataReader name attribute not found."); drs = new DataReaderSettings(temp); String filename = xr.GetAttribute("filename"); if (String.IsNullOrEmpty(filename)) throw new FormatException("DataReader filename attribute not found."); temp = xr.GetAttribute("dirsetting"); if (String.IsNullOrEmpty(temp)) { temp = "./"; } else { temp = Config.GetSetting(temp); if (String.IsNullOrEmpty(temp)) { temp = "./"; } } drs.FileLocation = new FileInfo(temp + filename); temp = xr.GetAttribute("dataitem"); if (String.IsNullOrEmpty(temp)) throw new FormatException("DataReader dataitem attribute not found."); drs.DataType = null; for (int i = 0; i < ItemSettings.Length; ++i) { if (ItemSettings[i].Name.ToLowerInvariant() == temp.ToLowerInvariant()) { drs.DataType = ItemSettings[i]; } } if (ReferenceEquals(drs.DataType,null)) throw new FormatException("DataReader dataitem value " + temp + " not found in loaded DataItems."); Int32 startline = 0; temp = xr.GetAttribute("startline"); Int32.TryParse(xr.GetAttribute("startline"), out startline); drs.StartLine = startline; readers.Add(drs); } } } catch (Exception ex) { xmlex = ex; } finally { xr.Close(); } //rethrow exception if it exists after we've ensured the xml file is closed if (!ReferenceEquals(xmlex, null)) throw xmlex; } ReaderSettings = readers.ToArray(); }
internal static void LoadDataReaders() { FileInfo fi_dataitems = new FileInfo(Config.GetSetting("filelocation_xmlsettings") + "DataReaders.xml"); if (!fi_dataitems.Exists) { throw new FileNotFoundException("DataReader.xml not found!"); } Exception xmlex = null; List <DataReaderSettings> readers = new List <DataReaderSettings>(); using (XmlReader xr = new XmlTextReader(fi_dataitems.OpenText())) { try { xr.ReadStartElement(); while (xr.Read()) { if (xr.NodeType == XmlNodeType.Element && xr.Name == "DataReader") { DataReaderSettings drs = null; String temp = xr.GetAttribute("name"); if (String.IsNullOrEmpty(temp)) { throw new FormatException("DataReader name attribute not found."); } drs = new DataReaderSettings(temp); String filename = xr.GetAttribute("filename"); if (String.IsNullOrEmpty(filename)) { throw new FormatException("DataReader filename attribute not found."); } temp = xr.GetAttribute("dirsetting"); if (String.IsNullOrEmpty(temp)) { temp = "./"; } else { temp = Config.GetSetting(temp); if (String.IsNullOrEmpty(temp)) { temp = "./"; } } drs.FileLocation = new FileInfo(temp + filename); temp = xr.GetAttribute("dataitem"); if (String.IsNullOrEmpty(temp)) { throw new FormatException("DataReader dataitem attribute not found."); } drs.DataType = null; for (int i = 0; i < ItemSettings.Length; ++i) { if (ItemSettings[i].Name.ToLowerInvariant() == temp.ToLowerInvariant()) { drs.DataType = ItemSettings[i]; } } if (ReferenceEquals(drs.DataType, null)) { throw new FormatException("DataReader dataitem value " + temp + " not found in loaded DataItems."); } Int32 startline = 0; temp = xr.GetAttribute("startline"); Int32.TryParse(xr.GetAttribute("startline"), out startline); drs.StartLine = startline; readers.Add(drs); } } } catch (Exception ex) { xmlex = ex; } finally { xr.Close(); } //rethrow exception if it exists after we've ensured the xml file is closed if (!ReferenceEquals(xmlex, null)) { throw xmlex; } } ReaderSettings = readers.ToArray(); }