コード例 #1
0
        static MainSettings GetMainSettingsUsingConfiguration(TwoFilesConfiguration configuration,
                                                              MainSettings currentSettings, WriteToLogDelegate writeToLog)
        {
            var resultProperties = new MainSettings();

            resultProperties.LogFontSize = configuration.GetDecimalValue(ConfigurationParameters.LogFontSize,
                                                                         currentSettings.LogFontSize, writeToLog);

            resultProperties.TreeViewFontSize = configuration.GetDecimalValue(ConfigurationParameters.TreeViewFontSize,
                                                                              currentSettings.TreeViewFontSize, writeToLog);

            resultProperties.RetryCount = configuration.GetIntValue(ConfigurationParameters.RetryCountParameter,
                                                                    currentSettings.RetryCount, writeToLog);

            resultProperties.RetryTimeout = configuration.GetIntValue(ConfigurationParameters.RetryTimeoutParameter,
                                                                      currentSettings.RetryTimeout, writeToLog);

            resultProperties.ReceiveTimeout = configuration.GetIntValue(ConfigurationParameters.ReceiveTimeoutParameter,
                                                                        currentSettings.ReceiveTimeout, writeToLog);

            resultProperties.ServerTimeout = configuration.GetIntValue(ConfigurationParameters.ServerTimeoutParameter,
                                                                       currentSettings.ServerTimeout, writeToLog);

            resultProperties.PrefetchCount = configuration.GetIntValue(ConfigurationParameters.PrefetchCountParameter,
                                                                       currentSettings.PrefetchCount, writeToLog);

            resultProperties.TopCount = configuration.GetIntValue(ConfigurationParameters.TopParameter,
                                                                  currentSettings.TopCount, writeToLog);

            resultProperties.SenderThinkTime = configuration.GetIntValue
                                                   (ConfigurationParameters.SenderThinkTimeParameter, currentSettings.SenderThinkTime, writeToLog);

            resultProperties.ReceiverThinkTime = configuration.GetIntValue
                                                     (ConfigurationParameters.ReceiverThinkTimeParameter, currentSettings.ReceiverThinkTime, writeToLog);

            resultProperties.MonitorRefreshInterval = configuration.GetIntValue
                                                          (ConfigurationParameters.MonitorRefreshIntervalParameter,
                                                          currentSettings.MonitorRefreshInterval, writeToLog);

            resultProperties.ShowMessageCount = configuration.GetBoolValue
                                                    (ConfigurationParameters.ShowMessageCountParameter,
                                                    currentSettings.ShowMessageCount, writeToLog);

            resultProperties.UseAscii = configuration.GetBoolValue(ConfigurationParameters.UseAsciiParameter,
                                                                   currentSettings.UseAscii, writeToLog);

            resultProperties.SaveMessageToFile = configuration.GetBoolValue
                                                     (ConfigurationParameters.SaveMessageToFileParameter, currentSettings.SaveMessageToFile, writeToLog);

            resultProperties.SavePropertiesToFile = configuration.GetBoolValue
                                                        (ConfigurationParameters.SavePropertiesToFileParameter,
                                                        currentSettings.SavePropertiesToFile, writeToLog);

            resultProperties.SaveCheckpointsToFile = configuration.GetBoolValue
                                                         (ConfigurationParameters.SaveCheckpointsToFileParameter,
                                                         currentSettings.SaveCheckpointsToFile, writeToLog);

            resultProperties.Label = configuration.GetStringValue(ConfigurationParameters.LabelParameter,
                                                                  MainSettings.DefaultLabel);

            MessageAndPropertiesHelper.GetMessageTextAndFile(configuration,
                                                             out string messageText, out string messageFile);
            resultProperties.MessageText = messageText;
            resultProperties.MessageFile = messageFile;

            resultProperties.MessageContentType = configuration.GetStringValue(ConfigurationParameters.MessageContentTypeParameter,
                                                                               string.Empty);

            resultProperties.SelectedEntities      = ConfigurationHelper.GetSelectedEntities(configuration);
            resultProperties.SelectedMessageCounts = ConfigurationHelper.GetSelectedMessageCounts(configuration);

            resultProperties.MessageBodyType = configuration.GetStringValue(ConfigurationParameters.MessageBodyType,
                                                                            BodyType.Stream.ToString());

            resultProperties.ConnectivityMode = configuration.GetEnumValue
                                                    (ConfigurationParameters.ConnectivityMode, currentSettings.ConnectivityMode, writeToLog);
            resultProperties.UseAmqpWebSockets = configuration.GetBoolValue
                                                     (ConfigurationParameters.UseAmqpWebSockets, currentSettings.UseAmqpWebSockets, writeToLog);
            resultProperties.EncodingType = configuration.GetEnumValue
                                                (ConfigurationParameters.Encoding, currentSettings.EncodingType, writeToLog);

            resultProperties.DisableAccidentalDeletionPrevention = configuration.GetBoolValue
                                                                       (ConfigurationParameters.DisableAccidentalDeletionPrevention, currentSettings.DisableAccidentalDeletionPrevention, writeToLog);

            resultProperties.ProxyOverrideDefault       = configuration.GetBoolValue(ConfigurationParameters.ProxyOverrideDefault, currentSettings.ProxyOverrideDefault, writeToLog);
            resultProperties.ProxyUseDefaultCredentials = configuration.GetBoolValue(ConfigurationParameters.ProxyUseDefaultCredentials, currentSettings.ProxyUseDefaultCredentials, writeToLog);
            resultProperties.ProxyBypassOnLocal         = configuration.GetBoolValue(ConfigurationParameters.ProxyBypassOnLocal, currentSettings.ProxyBypassOnLocal, writeToLog);
            resultProperties.ProxyAddress    = configuration.GetStringValue(ConfigurationParameters.ProxyAddress, string.Empty);
            resultProperties.ProxyBypassList = configuration.GetStringValue(ConfigurationParameters.ProxyBypassList, string.Empty);
            resultProperties.ProxyUserName   = configuration.GetStringValue(ConfigurationParameters.ProxyUserName, string.Empty);
            resultProperties.ProxyPassword   = configuration.GetStringValue(ConfigurationParameters.ProxyPassword, string.Empty);
            resultProperties.NodesColors     = NodeColorInfo.ParseAll(configuration.GetStringValue(ConfigurationParameters.NodesColors, string.Empty));

            return(resultProperties);
        }
コード例 #2
0
        void SaveSettings(ConfigFileUse configFileUse)
        {
            var defaultSettings = MainSettings.GetDefault();
            var readSettings    = ConfigurationHelper.GetMainProperties(configFileUse,
                                                                        defaultSettings, writeToLog: null);

            // Special case: if we have switched from user config file to application config file,
            // we still have to update that particular setting in the user config file, or it won't
            // persist through program restart.
            if (originalConfigFileUse != ConfigFileUse.ApplicationConfig &&
                configFileUse == ConfigFileUse.ApplicationConfig)
            {
                var userConfiguration = TwoFilesConfiguration.Create(ConfigFileUse.UserConfig);
                userConfiguration.SetValue(ConfigurationParameters.ConfigurationConfigFileParameter, configFileUse);
                userConfiguration.Save();
            }

            var configuration = TwoFilesConfiguration.Create(configFileUse);

            configuration.SetValue(ConfigurationParameters.ConfigurationConfigFileParameter, configFileUse);

            SaveSetting(configuration, readSettings, ConfigurationParameters.LogFontSize,
                        MainSettings.LogFontSize);
            SaveSetting(configuration, readSettings, ConfigurationParameters.TreeViewFontSize,
                        MainSettings.TreeViewFontSize);
            SaveSetting(configuration, readSettings, ConfigurationParameters.ShowMessageCountParameter,
                        MainSettings.ShowMessageCount);
            SaveSetting(configuration, readSettings, ConfigurationParameters.SaveMessageToFileParameter,
                        MainSettings.SaveMessageToFile);
            SaveSetting(configuration, readSettings, ConfigurationParameters.UseAsciiParameter,
                        MainSettings.UseAscii);
            SaveSetting(configuration, readSettings,
                        ConfigurationParameters.SavePropertiesToFileParameter,
                        MainSettings.SavePropertiesToFile);
            SaveSetting(configuration, readSettings,
                        ConfigurationParameters.SaveCheckpointsToFileParameter,
                        MainSettings.SaveCheckpointsToFile);
            SaveSetting(configuration, readSettings, ConfigurationParameters.RetryCountParameter,
                        MainSettings.RetryCount);
            SaveSetting(configuration, readSettings, ConfigurationParameters.RetryTimeoutParameter,
                        MainSettings.RetryTimeout);
            SaveSetting(configuration, readSettings, ConfigurationParameters.TopParameter,
                        MainSettings.TopCount);
            SaveSetting(configuration, readSettings, ConfigurationParameters.ReceiveTimeoutParameter,
                        MainSettings.ReceiveTimeout);
            SaveSetting(configuration, readSettings, ConfigurationParameters.ServerTimeoutParameter,
                        MainSettings.ServerTimeout);
            SaveSetting(configuration, readSettings, ConfigurationParameters.SenderThinkTimeParameter,
                        MainSettings.SenderThinkTime);
            SaveSetting(configuration, readSettings, ConfigurationParameters.ReceiverThinkTimeParameter,
                        MainSettings.ReceiverThinkTime);
            SaveSetting(configuration, readSettings,
                        ConfigurationParameters.MonitorRefreshIntervalParameter,
                        MainSettings.MonitorRefreshInterval);
            SaveSetting(configuration, readSettings, ConfigurationParameters.PrefetchCountParameter,
                        MainSettings.PrefetchCount);
            SaveSetting(configuration, readSettings, ConfigurationParameters.LabelParameter,
                        MainSettings.Label);

            SaveSetting(configuration, readSettings, ConfigurationParameters.MessageParameter,
                        MainSettings.MessageText);
            SaveSetting(configuration, readSettings, ConfigurationParameters.FileParameter,
                        MainSettings.MessageFile);
            SaveSetting(configuration, readSettings, ConfigurationParameters.MessageContentTypeParameter,
                        MainSettings.MessageContentType);

            SaveSetting(configuration, readSettings, ConfigurationParameters.ConnectivityMode,
                        MainSettings.ConnectivityMode);
            SaveSetting(configuration, readSettings, ConfigurationParameters.UseAmqpWebSockets,
                        MainSettings.UseAmqpWebSockets);
            SaveSetting(configuration, readSettings, ConfigurationParameters.Encoding,
                        MainSettings.EncodingType);

            SaveListSetting(configuration, readSettings, ConfigurationParameters.SelectedEntitiesParameter,
                            MainSettings.SelectedEntities);
            SaveListSetting(configuration, readSettings, ConfigurationParameters.SelectedMessageCountsParameter,
                            MainSettings.SelectedMessageCounts);

            SaveSetting(configuration, readSettings, ConfigurationParameters.MessageBodyType,
                        MainSettings.MessageBodyType);

            SaveSetting(configuration, readSettings, ConfigurationParameters.DisableAccidentalDeletionPrevention,
                        MainSettings.DisableAccidentalDeletionPrevention);

            SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyOverrideDefault,
                        MainSettings.ProxyOverrideDefault);
            SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyAddress,
                        MainSettings.ProxyAddress);
            SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyBypassList,
                        MainSettings.ProxyBypassList);
            SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyBypassOnLocal,
                        MainSettings.ProxyBypassOnLocal);
            SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyUseDefaultCredentials,
                        MainSettings.ProxyUseDefaultCredentials);
            SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyUserName,
                        MainSettings.ProxyUserName);
            SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyPassword,
                        MainSettings.ProxyPassword);

            SaveSetting(configuration, readSettings, ConfigurationParameters.NodesColors, NodeColorInfo.FormatAll(MainSettings.NodesColors));

            configuration.Save();
        }