// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddCors(); // Add framework services. services.AddMvc() .AddJsonOptions(options => options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore); //Configure Compression level services.Configure <GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Optimal); //Add Response compression services //services.AddResponseCompression(options => //{ // options.EnableForHttps = true; // options.Providers.Add<GzipCompressionProvider>(); //}); // Add our Config object so it can be injected var gameApiSettings = Configuration.GetSection(nameof(GameApiSettings)).Get <GameApiSettings>(); var translatorSettings = Configuration.GetSection(nameof(TranslatorSettings)).Get <TranslatorSettings>(); var tcseSettings = Configuration.GetSection("TcseSettings").Get <IList <ClasificationSettings> >(); var esrbSettings = Configuration.GetSection("EsrbSettings").Get <IList <ClasificationSettings> >(); var storageSettings = Configuration.GetSection(nameof(StorageBlobSettings)).Get <StorageBlobSettings>(); tcseSettings = ConfigurationMerger.SetClasificationImageUrls(storageSettings, tcseSettings); esrbSettings = ConfigurationMerger.SetClasificationImageUrls(storageSettings, esrbSettings); services.AddScoped <IClasificationTableService, ClasificationTableService>(x => new ClasificationTableService(tcseSettings, esrbSettings)); services.AddScoped <IGameService, GameService>(x => new GameService(gameApiSettings)); services.AddScoped <ITranslatorService, TranslatorService>(x => new TranslatorService(translatorSettings)); }
protected override void Act() { sourceFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "merge_main.config"); File.SetAttributes(sourceFile, FileAttributes.ReadOnly); ConfigurationMerger configurationMerger = new ConfigurationMerger(sourceFile, MergeSection); configurationMerger.MergeConfiguration(TargetFile); }
protected override void Act() { var resources = new ResourceHelper<ConfigFileLocator>(); var deltaConfigurationFile = resources.DumpResourceFileToDisk("override_lab_protection_dpapi.dconfig"); ConfigurationMerger configurationMerger = new ConfigurationMerger(mainConfigurationFile, deltaConfigurationFile); configurationMerger.MergeConfiguration(mergedConfigurationFile); mergedConfigurationFileSource = new FileConfigurationSource(mergedConfigurationFile); }
protected override void Act() { var resources = new ResourceHelper <ConfigFileLocator>(); var deltaConfigurationFile = resources.DumpResourceFileToDisk("override_lab_protection_dpapi.dconfig"); ConfigurationMerger configurationMerger = new ConfigurationMerger(mainConfigurationFile, deltaConfigurationFile); configurationMerger.MergeConfiguration(mergedConfigurationFile); mergedConfigurationFileSource = new FileConfigurationSource(mergedConfigurationFile); }
protected override void Act() { lastWriteTime = DateTime.Today.Subtract(TimeSpan.FromMinutes(5)); File.Create(TargetFile).Dispose(); File.SetLastWriteTime(TargetFile, lastWriteTime); ConfigurationMerger configurationMerger = new ConfigurationMerger(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "merge_main.config"), MergeSection); configurationMerger.MergeConfiguration(TargetFile); }
/// <summary> /// Creates a new instance of <see cref="ClusterConfigClient"/> with given <paramref name="settings"/> merged with default settings from <see cref="DefaultSettingsProvider"/> (non-default user settings take priority). /// </summary> public ClusterConfigClient([NotNull] ClusterConfigClientSettings settings) { this.settings = settings = ConfigurationMerger.Merge(DefaultSettingsProvider.Settings, settings ?? throw new ArgumentNullException(nameof(settings))); log = settings.Log.ForContext <ClusterConfigClient>(); stateSource = new TaskCompletionSource <ClusterConfigClientState>(TaskCreationOptions.RunContinuationsAsynchronously); stateObservable = new CachingObservable <ClusterConfigClientState>(); clientState = new AtomicInt(State_NotStarted); cancellationSource = new CancellationTokenSource(); observablePropagationLock = new object(); }
protected override void Act() { openFile = File.Create(TargetFile); lastWriteTime = File.GetLastWriteTime(TargetFile); try { ConfigurationMerger configurationMerger = new ConfigurationMerger(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "merge_main.config"), MergeSection); configurationMerger.MergeConfiguration(TargetFile); } catch (IOException) { } }
public void Should_preserve_non_default_values_from_user_settings() { foreach (var(propertyName, nonDefaultValue, _) in EnumerateNonDefaultValues()) { var baseSettings = new ClusterConfigClientSettings(); var userSettings = new ClusterConfigClientSettings(); typeof(ClusterConfigClientSettings).GetProperty(propertyName).SetValue(userSettings, nonDefaultValue); var mergedSettings = ConfigurationMerger.Merge(baseSettings, userSettings); typeof(ClusterConfigClientSettings).GetProperty(propertyName).GetValue(mergedSettings).Should().Be(nonDefaultValue); } }
static int Main(string[] args) { if (args.Length < 2 || args.Length > 3) { PrintUsage(); return 1; } string mainConfigurationFile = Path.GetFullPath(args[0]); string configurationMergeFile = Path.GetFullPath(args[1]); string mergedConfigurationFile = (args.Length == 3) ? Path.GetFullPath(args[2]) : string.Empty; if (!File.Exists(mainConfigurationFile)) { string errorMessage = string.Format(Resources.MainConfigurationFileNotFound, mainConfigurationFile); System.Console.WriteLine(errorMessage); return 1; } if (!File.Exists(configurationMergeFile)) { string errorMessage = string.Format(Resources.ConfigurationMergeFileNotFound, configurationMergeFile); System.Console.WriteLine(errorMessage); return 1; } try { ConfigurationMerger mergeTool = new ConfigurationMerger(mainConfigurationFile, configurationMergeFile); mergeTool.MergeConfiguration(mergedConfigurationFile); string message = String.Format(Resources.MergeSucceeded, mergeTool.MergedConfigurationFile); System.Console.WriteLine(message); } catch (Exception e) { System.Console.WriteLine(Resources.UnhandledExceptionMessage); System.Console.WriteLine(e); return 1; } return 0; }
static int Main(string[] args) { if (args.Length < 2 || args.Length > 3) { PrintUsage(); return(1); } string mainConfigurationFile = Path.GetFullPath(args[0]); string configurationMergeFile = Path.GetFullPath(args[1]); string mergedConfigurationFile = (args.Length == 3) ? Path.GetFullPath(args[2]) : string.Empty; if (!File.Exists(mainConfigurationFile)) { string errorMessage = string.Format(Resources.MainConfigurationFileNotFound, mainConfigurationFile); System.Console.WriteLine(errorMessage); return(1); } if (!File.Exists(configurationMergeFile)) { string errorMessage = string.Format(Resources.ConfigurationMergeFileNotFound, configurationMergeFile); System.Console.WriteLine(errorMessage); return(1); } try { ConfigurationMerger mergeTool = new ConfigurationMerger(mainConfigurationFile, configurationMergeFile); mergeTool.MergeConfiguration(mergedConfigurationFile); string message = String.Format(Resources.MergeSucceeded, mergeTool.MergedConfigurationFile); System.Console.WriteLine(message); } catch (Exception e) { System.Console.WriteLine(Resources.UnhandledExceptionMessage); System.Console.WriteLine(e); return(1); } return(0); }
protected override void Act() { ConfigurationMerger configurationMerger = new ConfigurationMerger(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "merge_main.config"), MergeSection); configurationMerger.MergeConfiguration(TargetFile); }
public void Should_correctly_merge_two_default_settings_instances() { ConfigurationMerger.Merge(new ClusterConfigClientSettings(), new ClusterConfigClientSettings()) .Should().BeEquivalentTo(new ClusterConfigClientSettings()); }
protected override void InnerExecute(object parameter) { var configurationSourceSection = configurationSource.Sections.OfType <ConfigurationSourceSectionViewModel>().FirstOrDefault(); if (configurationSourceSection != null) { ElementReferenceProperty selectedSourceProperty = (ElementReferenceProperty)configurationSourceSection.Property("SelectedSource"); if (typeof(SystemConfigurationSourceElement) != selectedSourceProperty.ReferencedElement.ConfigurationType) { UIService.ShowMessageWpf(DesignResources.ExportingEnvironemntConfigurationUsingNonSystemSource, DesignResources.ExportMergedEnvironmentTitle, MessageBoxButton.OK); return; } } if (application.IsDirty) { var saveDialogResult = UIService.ShowMessageWpf( DesignResources.ExportMergedUnsavedMainConfigurationMessage, DesignResources.ExportMergedConfigurationTitle, System.Windows.MessageBoxButton.OKCancel); if (saveDialogResult == System.Windows.MessageBoxResult.Cancel) { return; } if (!application.Save()) { return; } } string mergedConfigurationFile = (string)overridesViewModel.Property("EnvironmentConfigurationFile").Value; if (string.IsNullOrEmpty(mergedConfigurationFile)) { SaveFileDialog saveEnvrionmentDialog = new SaveFileDialog() { Title = DesignResources.ExportMergedConfigurationTitle, DefaultExt = "*.config", Filter = Resources.SaveConfigurationFileDialogFilter, FilterIndex = 0 }; var saveFileResults = UIService.ShowFileDialog(saveEnvrionmentDialog); if (saveFileResults.DialogResult != true) { return; } mergedConfigurationFile = saveFileResults.FileName; } else { if (File.Exists(mergedConfigurationFile)) { var confirmationResult = UIService.ShowMessageWpf( string.Format(CultureInfo.CurrentCulture, DesignResources.SaveOverwriteMergedFile, mergedConfigurationFile), DesignResources.ExportMergedConfigurationTitle, MessageBoxButton.YesNo); if (confirmationResult == MessageBoxResult.No) { return; } } } if (!Path.IsPathRooted(mergedConfigurationFile)) { string configurationFileDirectory = Path.GetDirectoryName(application.ConfigurationFilePath); mergedConfigurationFile = Path.Combine(configurationFileDirectory, mergedConfigurationFile); } ConfigurationMerger mergeComponent = new ConfigurationMerger(application.ConfigurationFilePath, (EnvironmentalOverridesSection)overridesViewModel.ConfigurationElement); mergeComponent.MergeConfiguration(mergedConfigurationFile); overridesViewModel.Property("EnvironmentConfigurationFile").Value = mergedConfigurationFile; }
protected override void InnerExecute(object parameter) { var configurationSourceSection = configurationSource.Sections.OfType<ConfigurationSourceSectionViewModel>().FirstOrDefault(); if (configurationSourceSection != null) { ElementReferenceProperty selectedSourceProperty = (ElementReferenceProperty) configurationSourceSection.Property("SelectedSource"); if (typeof(SystemConfigurationSourceElement) != selectedSourceProperty.ReferencedElement.ConfigurationType) { UIService.ShowMessageWpf(DesignResources.ExportingEnvironemntConfigurationUsingNonSystemSource, DesignResources.ExportMergedEnvironmentTitle, MessageBoxButton.OK); return; } } if (application.IsDirty) { var saveDialogResult = UIService.ShowMessageWpf( DesignResources.ExportMergedUnsavedMainConfigurationMessage, DesignResources.ExportMergedConfigurationTitle, System.Windows.MessageBoxButton.OKCancel); if (saveDialogResult == System.Windows.MessageBoxResult.Cancel) { return; } if (!application.Save()) { return; } } string mergedConfigurationFile = (string)overridesViewModel.Property("EnvironmentConfigurationFile").Value; if (string.IsNullOrEmpty(mergedConfigurationFile)) { SaveFileDialog saveEnvrionmentDialog = new SaveFileDialog() { Title = DesignResources.ExportMergedConfigurationTitle, DefaultExt = "*.config", Filter = Resources.SaveConfigurationFileDialogFilter, FilterIndex = 0 }; var saveFileResults = UIService.ShowFileDialog(saveEnvrionmentDialog); if (saveFileResults.DialogResult != true) { return; } mergedConfigurationFile = saveFileResults.FileName; } else { if (File.Exists(mergedConfigurationFile)) { var confirmationResult = UIService.ShowMessageWpf( string.Format(CultureInfo.CurrentCulture, DesignResources.SaveOverwriteMergedFile, mergedConfigurationFile), DesignResources.ExportMergedConfigurationTitle, MessageBoxButton.YesNo); if (confirmationResult == MessageBoxResult.No) { return; } } } if (!Path.IsPathRooted(mergedConfigurationFile)) { string configurationFileDirectory = Path.GetDirectoryName(application.ConfigurationFilePath); mergedConfigurationFile = Path.Combine(configurationFileDirectory, mergedConfigurationFile); } ConfigurationMerger mergeComponent = new ConfigurationMerger(application.ConfigurationFilePath, (EnvironmentalOverridesSection)overridesViewModel.ConfigurationElement); mergeComponent.MergeConfiguration(mergedConfigurationFile); overridesViewModel.Property("EnvironmentConfigurationFile").Value = mergedConfigurationFile; }
public static void Main(string[] args) { Badger.Common.Diagnostics.Logging.ApplySimpleConfiguation(); var Configurations = new List <PackagerConfiguration>() { MyConfig(), MyConfig().WithDefaults(), Defaults.Configuration(), }; var Parser = new Mono.Options.OptionSet() { { "from-json=", "Specify a json file to load packaging options from", x => { try { var Instance = Badger.Common.Serialization.EasyJsonSerializer.Instance.FromFile <PackagerConfiguration>(x); var Defaults = Instance.WithDefaults(); Configurations.InsertRange(0, new[] { Instance, Defaults }); } catch (Exception ex) { } } }, { "create-package", "create the package specified by all the options", x => { var Config = ConfigurationMerger.Many((x, y) => ConfigurationMerger.Merge(x, y), Configurations); Config.InvokeConfiguration(); } }, { "verbosity=", "set the desired log verbosity", x => { } }, { "to-json=", "Specify a json file to save packaging options to.", x => { try { var Config = ConfigurationMerger.Many((x, y) => ConfigurationMerger.Merge(x, y), Configurations); EasyJsonSerializer.Instance.ToFile(Config, x); } catch (Exception ex) { } } } }; args = new[] { $@"-to-json=C:\Users\TonyValenti\Documents\test.json", $@"-create-package" }; var F = Parser.Parse(args); }