public GeneralSetting Read(String file, GeneralSettingEntryType entryType) { GeneralSetting result = null; if (ReadingQueries.ContainsKey(entryType)) { try { XDocument configFile = XDocument.Load(file); XElement rootElement = configFile.XPathSelectElement("WargameModInstallerConfig/Settings/General"); if (rootElement != null) { result = ReadingQueries[entryType](rootElement); } } catch (XmlException ex) { WargameModInstaller.Common.Logging.LoggerFactory.Create(this.GetType()).Error(ex); throw; } } return(result); }
public void ReadTest() { GeneralSettingReader target = new GeneralSettingReader(); GeneralSettingEntryType entry = GeneralSettingEntryType.ModName; string file = @"installerConfig.wmi"; GeneralSetting expected = new GeneralSetting(entry, @"My Mod"); GeneralSetting actual; actual = target.Read(file, entry); Assert.AreEqual(expected, actual); }
/// <summary> /// /// </summary> /// <param name="entryType"></param> /// <returns></returns> public GeneralSetting GetGeneralSettings(GeneralSettingEntryType entryType) { GeneralSetting settingsValue = generalSettingsReader.Read(configFilePath, entryType); if (settingsValue == null) { //get a default state setting if the reader is unable to read one from the config file settingsValue = settingsFactory.CreateSettings <GeneralSetting>(entryType); } return(settingsValue); }
private GeneralSetting ReadSetting(XElement source, GeneralSettingEntryType entry, String attribute) { GeneralSetting result = null; var element = source.Element(entry.Name); if (element != null) { //First read the attribute, because an empty tag element value returns an empty string not null. var value = element.Attribute(attribute).ValueNullSafe() ?? element.ValueNullSafe(); if (value != null) { result = new GeneralSetting(entry, value); } } return(result); }