Example #1
0
        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);
        }
Example #2
0
        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();
        }