Example #1
0
        // 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);
        }
Example #6
0
        /// <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;
        }
Example #10
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);
 }
        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)
            {
            }
        }
        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()
        {
            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);
        }
 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;
        }
        protected override void Act()
        {
            ConfigurationMerger configurationMerger = new ConfigurationMerger(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "merge_main.config"), MergeSection);

            configurationMerger.MergeConfiguration(TargetFile);
        }
Example #19
0
        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);
        }