public void FromXml(string configurationString) { if (configurationString == null || configurationString.Length == 0) { return; } XmlDocument config = new XmlDocument(); config.LoadXml(configurationString); XmlElement root = config.DocumentElement; Entries.Clear(); foreach (XmlElement cmndNode in root.SelectNodes("linux/sshCommand")) { LinuxSSHCommandEntry entry = new LinuxSSHCommandEntry(); entry.SSHConnection = SSHConnectionDetails.FromXmlElement(cmndNode); //entry.SSHConnection.SSHSecurityOption = SSHSecurityOptionTypeConverter.FromString(cmndNode.ReadXmlElementAttr("sshSecOpt", "password")); //entry.SSHConnection.ComputerName = cmndNode.ReadXmlElementAttr("machine", "."); //entry.SSHConnection.SSHPort = cmndNode.ReadXmlElementAttr("sshPort", 22); //entry.SSHConnection.UserName = cmndNode.ReadXmlElementAttr("userName", ""); //entry.SSHConnection.Password = cmndNode.ReadXmlElementAttr("password", ""); //entry.SSHConnection.PrivateKeyFile = cmndNode.ReadXmlElementAttr("privateKeyFile", ""); //entry.SSHConnection.PassPhrase = cmndNode.ReadXmlElementAttr("passPhrase", ""); //entry.SSHConnection.Persistent = cmndNode.ReadXmlElementAttr("persistent", false); entry.Name = cmndNode.ReadXmlElementAttr("name", ""); XmlNode commandStringNode = cmndNode.SelectSingleNode("commandString"); entry.CommandString = cmndNode.InnerText; XmlNode alertTriggersNode = cmndNode.SelectSingleNode("alertTriggers"); entry.ValueReturnType = SSHCommandValueReturnTypeConverter.FromString(alertTriggersNode.ReadXmlElementAttr("valueReturnType", "RawValue")); entry.ValueReturnCheckSequence = CollectorAgentReturnValueCompareEngine.CheckSequenceTypeFromString(alertTriggersNode.ReadXmlElementAttr("checkSequence", "EWG")); XmlNode successNode = alertTriggersNode.SelectSingleNode("success"); entry.SuccessMatchType = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(successNode.ReadXmlElementAttr("matchType", "Match")); entry.SuccessValueOrMacro = successNode.ReadXmlElementAttr("value", "[any]"); XmlNode warningNode = alertTriggersNode.SelectSingleNode("warning"); entry.WarningMatchType = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(warningNode.ReadXmlElementAttr("matchType", "Match")); entry.WarningValueOrMacro = warningNode.ReadXmlElementAttr("value", "0"); XmlNode errorNode = alertTriggersNode.SelectSingleNode("error"); entry.ErrorMatchType = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(errorNode.ReadXmlElementAttr("matchType", "Match")); entry.ErrorValueOrMacro = errorNode.ReadXmlElementAttr("value", "[null]"); Entries.Add(entry); } }
public void FromXml(string configurationString) { XmlDocument config = new XmlDocument(); config.LoadXml(configurationString); Entries.Clear(); XmlElement root = config.DocumentElement; //version 5 config foreach (XmlElement carvceEntryNode in root.SelectNodes("carvcesEntries/carvceEntry")) { XmlNode dataSourceNode = carvceEntryNode.SelectSingleNode("dataSource"); SSHCommandCollectorConfigEntry sshEntry = new SSHCommandCollectorConfigEntry(); sshEntry.Name = dataSourceNode.ReadXmlElementAttr("name", ""); sshEntry.PrimaryUIValue = dataSourceNode.ReadXmlElementAttr("primaryUIValue", false); sshEntry.OutputValueUnit = dataSourceNode.ReadXmlElementAttr("outputValueUnit", ""); sshEntry.SSHConnection = SSHConnectionDetails.FromXmlElement((XmlElement)dataSourceNode); XmlNode stateQueryNode = dataSourceNode.SelectSingleNode("stateQuery"); sshEntry.ValueReturnType = SSHCommandValueReturnTypeConverter.FromString(stateQueryNode.ReadXmlElementAttr("valueReturnType", "RawValue")); sshEntry.CommandString = stateQueryNode.InnerText; XmlNode testConditionsNode = carvceEntryNode.SelectSingleNode("testConditions"); if (testConditionsNode != null) { sshEntry.ReturnCheckSequence = CollectorAgentReturnValueCompareEngine.CheckSequenceTypeFromString(testConditionsNode.ReadXmlElementAttr("testSequence", "gwe")); XmlNode goodScriptNode = testConditionsNode.SelectSingleNode("success"); sshEntry.GoodResultMatchType = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(goodScriptNode.ReadXmlElementAttr("testType", "match")); sshEntry.GoodValue = goodScriptNode.InnerText; XmlNode warningScriptNode = testConditionsNode.SelectSingleNode("warning"); sshEntry.WarningResultMatchType = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(warningScriptNode.ReadXmlElementAttr("testType", "match")); sshEntry.WarningValue = warningScriptNode.InnerText; XmlNode errorScriptNode = testConditionsNode.SelectSingleNode("error"); sshEntry.ErrorResultMatchType = CollectorAgentReturnValueCompareEngine.MatchTypeFromString(errorScriptNode.ReadXmlElementAttr("testType", "match")); sshEntry.ErrorValue = errorScriptNode.InnerText; } else { sshEntry.ReturnCheckSequence = CollectorAgentReturnValueCheckSequence.GWE; } Entries.Add(sshEntry); } }