コード例 #1
0
        public void Setup()
        {
            var logger = new NullLogger <EngineConfigurationBuilder>();

            ecb = new EngineConfigurationBuilder(logger);

            host = new HostBuilder().ConfigureServices((context, services) =>
            {
                services.AddApplicationInsightsTelemetryWorkerService();
                services.AddSingleton <IDetectOnlineService, DetectOnlineService>();
                services.AddSingleton <IDetectVersionService, DetectVersionService>();
                services.AddSingleton <IEngineConfigurationBuilder, EngineConfigurationBuilderStub>();
                services.AddSingleton <EngineConfiguration>(ecb.CreateEmptyConfig());
                services.AddSingleton <ProcessorContainer>();
                services.AddSingleton <TypeDefinitionMapContainer>();
                services.AddSingleton <GitRepoMapContainer>();
                services.AddSingleton <FieldMapContainer>();

                services.AddSingleton <ChangeSetMappingContainer>();
                services.AddSingleton <ITelemetryLogger, TelemetryClientAdapter>();
                services.AddSingleton <ExecuteOptions>();
                services.AddSingleton <IMigrationEngine, MigrationEngine>();

                services.AddTransient <IMigrationClient, MigrationClientMock>();
                services.AddTransient <IWorkItemMigrationClient, WorkItemMigrationClientMock>();
                services.AddTransient <IWorkItemQueryBuilder, WorkItemQueryBuilder>();
            }).Build();
        }
コード例 #2
0
 public static IEngineConfigurationBuilder WithZoomOnScrollWheel(
     this IEngineConfigurationBuilder builder,
     float sensitivity = 1.0f)
 {
     builder.Engine.AddFeature(new ZoomMapEngineFeature(sensitivity));
     return(builder);
 }
コード例 #3
0
 public static IEngineConfigurationBuilder WithRendering(this IEngineConfigurationBuilder builder, string clearTileTextureKey = null)
 {
     builder.Engine.AddFeature(new RenderEngineFeature {
         ClearTextureKey = clearTileTextureKey
     });
     return(builder);
 }
コード例 #4
0
 public static IEngineConfigurationBuilder WithPanOnKeyAndMouseMove(
     this IEngineConfigurationBuilder builder,
     VirtualKeyModifiers modifier = VirtualKeyModifiers.Control)
 {
     builder.Engine.AddFeature(new PanMapEngineFeature(modifier));
     return(builder);
 }
コード例 #5
0
 public static IEngineConfigurationBuilder AddFromAssemblyContainingType <T>(this IEngineConfigurationBuilder builder)
 {
     foreach (var type in typeof(T).Assembly.GetTypes())
     {
         builder.Include(type);
     }
     return(builder);
 }
コード例 #6
0
 public InitHostedService(
     IEngineConfigurationBuilder configurationBuilder,
     InitOptions initOptions,
     ILogger <InitHostedService> logger,
     ITelemetryLogger telemetryLogger,
     IHostApplicationLifetime appLifetime)
 {
     _configurationBuilder = configurationBuilder;
     _initOptions          = initOptions;
     _logger          = logger;
     _telemetryLogger = telemetryLogger;
     _appLifetime     = appLifetime;
 }
        public void Setup()
        {
            var levelSwitch = new LoggingLevelSwitch();

            Log.Logger = new LoggerConfiguration().MinimumLevel.ControlledBy(levelSwitch).WriteTo.Console().CreateLogger();

            ecb = new EngineConfigurationBuilder(new NullLogger <EngineConfigurationBuilder>());
            var services = new ServiceCollection();

            services.AddSingleton <LoggingLevelSwitch>(levelSwitch);

            // Field Mapps
            services.AddTransient <FieldBlankMap>();
            services.AddTransient <FieldLiteralMap>();
            services.AddTransient <FieldMergeMap>();
            services.AddTransient <FieldValueMap>();
            services.AddTransient <FieldToFieldMap>();
            services.AddTransient <FieldtoFieldMultiMap>();
            services.AddTransient <FieldToTagFieldMap>();
            services.AddTransient <FieldValuetoTagMap>();
            services.AddTransient <MultiValueConditionalMap>();
            services.AddTransient <RegexFieldMap>();
            services.AddTransient <TreeToTagFieldMap>();
            //Services
            services.AddSingleton <IDetectOnlineService, DetectOnlineService>();
            services.AddSingleton <IDetectVersionService, DetectVersionService>();
            //Containers
            services.AddSingleton <FieldMapContainer>();
            services.AddSingleton <ProcessorContainer>();
            services.AddSingleton <TypeDefinitionMapContainer>();
            services.AddSingleton <GitRepoMapContainer>();
            services.AddSingleton <ChangeSetMappingContainer>();

            //
            services.AddSingleton <IEngineConfigurationBuilder, EngineConfigurationBuilder>();
            services.AddSingleton <EngineConfiguration>(ecb.BuildDefault());
            services.AddSingleton <ITelemetryLogger, TelemetryLoggerMock>();
            services.AddApplicationInsightsTelemetryWorkerService();
            services.AddLogging();

            //Clients
            services.AddTransient <IMigrationClient, MigrationClient>();
            services.AddTransient <IWorkItemMigrationClient, WorkItemMigrationClient>();
            services.AddTransient <IWorkItemQueryBuilder, WorkItemQueryBuilder>();

            services.AddSingleton <IMigrationEngine, MigrationEngine>();

            services.AddSingleton <ExecuteOptions>((p) => null);

            _services = services.BuildServiceProvider();
        }
コード例 #8
0
 public InitHostedService(
     IEngineConfigurationBuilder configurationBuilder,
     ISettingsWriter settingsWriter,
     IOptions <InitOptions> initOptions,
     ILogger <InitHostedService> logger,
     ITelemetryLogger telemetryLogger,
     IHostApplicationLifetime appLifetime)
 {
     _configurationBuilder = configurationBuilder;
     _settingWriter        = settingsWriter;
     _initOptions          = initOptions.Value;
     _logger          = logger;
     _telemetryLogger = telemetryLogger;
     _appLifetime     = appLifetime;
 }
 public void Setup()
 {
     ecb  = new EngineConfigurationBuilder();
     host = new HostBuilder().ConfigureServices((context, services) =>
     {
         services.AddSingleton <IDetectOnlineService, DetectOnlineService>();
         services.AddSingleton <IDetectVersionService, DetectVersionService>();
         services.AddSingleton <IEngineConfigurationBuilder, EngineConfigurationBuilderStub>();
         services.AddSingleton <EngineConfiguration>(ecb.BuildDefault());
         services.AddSingleton <ProcessorContainer>();
         services.AddSingleton <TypeDefinitionMapContainer>();
         services.AddSingleton <GitRepoMapContainer>();
         services.AddSingleton <ChangeSetMappingContainer>();
         services.AddSingleton <ITelemetryLogger, TelemetryClientAdapter>();
         services.AddSingleton <ITeamProjectContext, TeamProjectContextMoc>();
         services.AddSingleton <MigrationEngineCore>();
     }).Build();
 }
コード例 #10
0
        public void Setup()
        {
            ecb = new EngineConfigurationBuilder();
            var serviceColl = new ServiceCollection();

            serviceColl.AddSingleton <IDetectOnlineService, DetectOnlineService>();
            serviceColl.AddSingleton <IDetectVersionService, DetectVersionService>();
            serviceColl.AddSingleton <IEngineConfigurationBuilder, EngineConfigurationBuilder>();
            serviceColl.AddSingleton <EngineConfiguration>(ecb.BuildDefault());
            serviceColl.AddSingleton <TelemetryClient>(new TelemetryClient());
            serviceColl.AddSingleton <ProcessorContainer>();
            serviceColl.AddSingleton <TypeDefinitionMapContainer>();
            serviceColl.AddSingleton <GitRepoMapContainer>();
            serviceColl.AddSingleton <ChangeSetMappingContainer>();
            serviceColl.AddSingleton <ITelemetryLogger, TestTelemetryLogger>();
            serviceColl.AddSingleton <MigrationEngine>();
            services = serviceColl.BuildServiceProvider();
        }
コード例 #11
0
 public EngineConfigurationWrapper(IEngineConfigurationBuilder engineConfigurationBuilder, ExecuteOptions opts, ILogger <EngineConfigurationWrapper> logger)
 {
     if (opts == null) //means that we are in init command and not execute
     {
         _engineConfiguration = engineConfigurationBuilder.BuildDefault();
         return;
     }
     if (opts.ConfigFile == string.Empty)
     {
         opts.ConfigFile = "configuration.json";
     }
     if (!File.Exists(opts.ConfigFile))
     {
         logger.LogInformation("The config file {ConfigFile} does not exist, nor does the default 'configuration.json'. Use '{ExecutableName}.exe init' to create a configuration file first", opts.ConfigFile, Assembly.GetEntryAssembly().GetName().Name);
         throw new ArgumentException("missing configfile");
     }
     logger.LogInformation("Config Found, creating engine host");
     _engineConfiguration = engineConfigurationBuilder.BuildFromFile(opts.ConfigFile);
 }
コード例 #12
0
        public void Setup()
        {
            ecb = new EngineConfigurationBuilder(new NullLogger <EngineConfigurationBuilder>());
            var services = new ServiceCollection();

            // Field Mapps
            services.AddTransient <FieldBlankMap>();
            services.AddTransient <FieldLiteralMap>();
            services.AddTransient <FieldMergeMap>();
            services.AddTransient <FieldValueMap>();
            services.AddTransient <FieldToFieldMap>();
            services.AddTransient <FieldtoFieldMultiMap>();
            services.AddTransient <FieldToTagFieldMap>();
            services.AddTransient <FieldValuetoTagMap>();
            services.AddTransient <MultiValueConditionalMap>();
            services.AddTransient <RegexFieldMap>();
            services.AddTransient <TreeToTagFieldMap>();

            //Services
            services.AddSingleton <IDetectOnlineService, DetectOnlineService>();
            services.AddSingleton <IDetectVersionService, DetectVersionService>();



            //Containers
            services.AddSingleton <FieldMapContainer>();
            services.AddSingleton <ProcessorContainer>();
            services.AddSingleton <TypeDefinitionMapContainer>();
            services.AddSingleton <GitRepoMapContainer>();
            services.AddSingleton <ChangeSetMappingContainer>();

            //
            services.AddSingleton <IEngineConfigurationBuilder, EngineConfigurationBuilder>();
            services.AddSingleton <EngineConfiguration>(ecb.BuildDefault());
            services.AddSingleton <TelemetryClient>(new TelemetryClient());
            services.AddSingleton <ITelemetryLogger, TestTelemetryLogger>();
            services.AddSingleton <MigrationEngine>();

            services.AddSingleton <ExecuteOptions>((p) => null);

            _services = services.BuildServiceProvider();
        }
コード例 #13
0
 /// <summary>
 /// Configure the poco entity
 /// </summary>
 /// <param name="cfBuilder"></param>
 private void AddPocoEntity(IEngineConfigurationBuilder cfBuilder)
 {
     cfBuilder.AddFromAssemblyContainingType <Location>();
     cfBuilder.AddFromAssemblyContainingType <Property>();
 }
 public EngineConfigurationBuilderStub(ILogger <EngineConfigurationBuilder> logger)
 {
     ecb = new EngineConfigurationBuilder(logger);
 }
コード例 #15
0
 public MigrationEngineCore(IHost host, ILogger <MigrationEngineCore> log, ITelemetryLogger telemetry, IEngineConfigurationBuilder configBuilder)
 {
     _Host          = host;
     _Log           = log;
     _Telemetry     = telemetry;
     _Config        = configBuilder.BuildFromFile();
     _witdContainer = _Host.Services.GetRequiredService <TypeDefinitionMapContainer>();
     _pContainer    = _Host.Services.GetRequiredService <ProcessorContainer>();
     _grmContainer  = _Host.Services.GetRequiredService <GitRepoMapContainer>();
     ProcessConfiguration();
 }
コード例 #16
0
 public MigrationEngine(IHost host, ILogger <MigrationEngine> log, TelemetryClient telemetry, IEngineConfigurationBuilder configBuilder)
 {
     _Host      = host;
     _Log       = log;
     _Telemetry = telemetry;
     _Config    = configBuilder.BuildFromFile();
 }