public XElement GetDiagnosticInfo(string argument) { XElement xelement = new XElement(base.Name); ConfigDiagnosticArgument configDiagnosticArgument = new ConfigDiagnosticArgument(argument); if (configDiagnosticArgument.HasArgument("configname")) { string argument2 = configDiagnosticArgument.GetArgument <string>("configname"); XElement xelement2 = new XElement("setting", new XAttribute("name", argument2)); foreach (SettingsGroup settingsGroup in this.Settings.Values) { string value; if (settingsGroup.TryGetValue(argument2, out value)) { xelement2.Add(new XElement("group", new object[] { new XAttribute("name", settingsGroup.Name), new XAttribute("enabled", settingsGroup.Enabled), new XAttribute("priority", settingsGroup.Priority), new XAttribute("value", value) })); } } xelement.Add(xelement2); } else { foreach (SettingsGroup settingsGroup2 in this.Settings.Values) { xelement.Add(settingsGroup2.ToDiagnosticInfo(null)); } } return(xelement); }
protected override void WriteResult(IConfigurable dataObject) { TaskLogger.LogEnter(new object[] { dataObject.Identity, dataObject }); ExchangeSettings exchangeSettings = (ExchangeSettings)dataObject; ConfigDiagnosticArgument configDiagnosticArgument = new ConfigDiagnosticArgument(this.DiagnosticArgument); if (configDiagnosticArgument.HasArgument("force")) { this.Force = true; } if (string.IsNullOrEmpty(this.ConfigName) && configDiagnosticArgument.HasArgument("configname")) { this.ConfigName = configDiagnosticArgument.GetArgument <string>("configname"); } if (exchangeSettings != null) { ConfigSchemaBase schema = null; if (SetExchangeSettings.IsSchemaRegistered(exchangeSettings.Identity.ToString())) { schema = SetExchangeSettings.GetRegisteredSchema(exchangeSettings.Identity.ToString(), this.Force, new Task.TaskVerboseLoggingDelegate(base.WriteVerbose), new Task.TaskErrorLoggingDelegate(base.WriteError)); } if (exchangeSettings.Groups != null) { foreach (SettingsGroup settingsGroup in exchangeSettings.Groups) { try { settingsGroup.Validate(schema, null); } catch (ConfigurationSettingsException ex) { base.WriteWarning(ex.Message); } } } this.ProcessDiagnostic(exchangeSettings, configDiagnosticArgument, schema); } base.WriteResult(exchangeSettings); TaskLogger.LogExit(); }
public override XElement GetDiagnosticInfo(string argument) { ConfigDiagnosticArgument configDiagnosticArgument = new ConfigDiagnosticArgument(argument); if (configDiagnosticArgument.HasArgument("invokescan")) { if (!this.ADSettingsCache.IsInitialized) { throw new ConfigurationSettingsDriverNotInitializedException(base.GetType().ToString()); } this.ADSettingsCache.Refresh(null); } XElement diagnosticInfo = base.GetDiagnosticInfo(argument); diagnosticInfo.Add(new XAttribute("LastModified", this.ADSettingsCache.LastModified)); diagnosticInfo.Add(new XElement("description", "Contains overrides for values found in AppConfig or more directly in the schema file.")); InternalExchangeSettings adsettings = this.ADSettings; if (adsettings != null) { diagnosticInfo.Add(adsettings.GetDiagnosticInfo(argument)); } return(diagnosticInfo); }