/// <summary> /// Instantiates a new instance of <see cref="BootProcedure" /> /// </summary> /// <param name="systemsThatKnowAboutEventProcessors">Provides <see cref="IEventProcessor">Event Processors</see></param> /// <param name="tenants">A collection of all <see cref="ITenants">tenants</see></param> /// <param name="processingHub">An instance of <see cref="IScopedEventProcessingHub" /> for processing <see cref="CommittedEventStream">Committed Event Streams</see></param> /// <param name="getOffsetRepository">A factory function to return a correctly scoped instance of <see cref="IEventProcessorOffsetRepository" /></param> /// <param name="getUnprocessedEventsFetcher">A factory function to return a correctly scoped instance of <see cref="IFetchUnprocessedEvents" /></param> /// <param name="executionContextManager">The <see cref="ExecutionContextManager" /> for setting the correct execution context for the Event Processors </param> /// <param name="resourceConfiguration"></param> /// <param name="boundedContextLoader"></param> /// <param name="environment"></param> /// <param name="logger">An instance of <see cref="ILogger" /> for logging</param> public BootProcedure( IInstancesOf <IKnowAboutEventProcessors> systemsThatKnowAboutEventProcessors, ITenants tenants, IScopedEventProcessingHub processingHub, FactoryFor <IEventProcessorOffsetRepository> getOffsetRepository, FactoryFor <IFetchUnprocessedEvents> getUnprocessedEventsFetcher, IExecutionContextManager executionContextManager, IResourceConfiguration resourceConfiguration, IBoundedContextLoader boundedContextLoader, Execution.Environment environment, ILogger logger) { _processingHub = processingHub; _logger = logger; _tenants = tenants; _systemsThatKnowAboutEventProcessors = systemsThatKnowAboutEventProcessors; _getOffsetRepository = getOffsetRepository; _getUnprocessedEventsFetcher = getUnprocessedEventsFetcher; _executionContextManager = executionContextManager; _resourceConfiguration = resourceConfiguration; _logger = logger; var boundedContextConfig = boundedContextLoader.Load(); _executionContextManager.SetConstants(boundedContextConfig.Application, boundedContextConfig.BoundedContext, environment); }
/// <summary> /// Initializes a new instance of <see cref="ApplicationResourceTypes"/> /// </summary> /// <param name="applicationResourceTypes"></param> public ApplicationResourceTypes(IInstancesOf <IApplicationResourceType> applicationResourceTypes) { var all = applicationResourceTypes.ToArray(); _resourceTypesByIdentifier = all.ToDictionary(r => r.Identifier, r => r); _resourceTypesByType = all.ToDictionary(r => r.Type, r => r); }
/// <summary> /// Initializes a new instance of the <see cref="PostBuildTaskPerformers"/> class. /// </summary> /// <param name="runners">Runners to run.</param> /// <param name="buildMessages"><see cref="IBuildMessages"/> for build messages.</param> public PostBuildTaskPerformers( IInstancesOf <ICanPerformPostBuildTask> runners, IBuildMessages buildMessages) { _runners = runners; _buildMessages = buildMessages; }
/// <summary> /// Initializes a new instance of <see cref="ValidationMetaDataGenerator"/> /// </summary> /// <param name="ruleGenerators">The known instances of generators.</param> /// <param name="validatorProvider">The provider of command input validators.</param> public ValidationMetaDataGenerator( IInstancesOf<ICanGenerateRule> ruleGenerators, ICommandValidatorProvider validatorProvider) { _validatorProvider = validatorProvider; _generatorsByType = Generators(ruleGenerators); }
/// <summary> /// Initializes a new instance of the <see cref="MetricProviders"/> class. /// </summary> /// <param name="providers"><see cref="IInstancesOf{T}"/> of <see cref="ICanProvideMetrics"/>.</param> /// <param name="metricFactory"><see cref="IMetricFactory"/>.</param> public MetricProviders( IInstancesOf <ICanProvideMetrics> providers, IMetricFactory metricFactory) { _providers = providers; _metricFactory = metricFactory; }
/// <summary> /// Initializes a new instance of <see cref="BuildTaskPerformers"/> /// </summary> /// <param name="performers"><see cref="IInstancesOf{ICanPerformPostBuildTasks}">Performers</see></param> /// <param name="buildMessages"><see cref="IBuildMessages"/> for outputting build messages</param> public BuildTaskPerformers( IInstancesOf <ICanPerformBuildTask> performers, IBuildMessages buildMessages) { _buildMessages = buildMessages; _performers = performers; }
public ReportEventProcessor( IReadModelRepositoryFor <Report> repositoryForCase, IInstancesOf <IReportNotificationService> services ) { _repositoryForCase = repositoryForCase; _services = services; }
Dictionary <Type, ICanGenerateRule> Generators(IInstancesOf <ICanGenerateRule> ruleGenerators) { return(( from generator in ruleGenerators from type in generator.From select new { generator, type }) .ToDictionary(d => d.type, d => d.generator)); }
public CaseEventProcessor( IReadModelRepositoryFor <Case> repositoryForCase, IInstancesOf <ICaseNotificationService> services ) { _repositoryForCase = repositoryForCase; _services = services; }
/// <summary> /// /// </summary> /// <param name="eventEmitters"></param> /// <param name="eventConsumers"></param> /// <param name="logger"></param> public EventBus(IInstancesOf <IEmitEvent> eventEmitters, IInstancesOf <IConsumeEvent> eventConsumers, ILogger logger) { _logger = logger; _eventEmitters = eventEmitters.Distinct().ToList(); _eventConsumers = eventConsumers.Distinct().ToList(); _eventRouters = new List <EventRouter>(); }
/// <summary> /// Initializes a new instance of the <see cref="PushConnectors"/> class. /// </summary> /// <param name="pushConnectorsClient"><see cref="IClientFor{T}">client for</see> <see cref="PushConnectorsClient"/> for connecting to runtime.</param> /// <param name="connectors">Instances of <see cref="IAmAPushConnector"/>.</param> /// <param name="logger"><see cref="ILogger"/> for logging.</param> public PushConnectors( IClientFor <PushConnectorsClient> pushConnectorsClient, IInstancesOf <IAmAPushConnector> connectors, ILogger logger) { _connectors = connectors.ToDictionary(_ => (ConnectorId)Guid.NewGuid(), _ => _); _pushConnectorsClient = pushConnectorsClient; _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="DataPointsProcessors"/> class. /// </summary> /// <param name="processors">Instances of <see cref="ICanProcessDataPoints">processors</see>.</param> /// <param name="client"><see cref="IClientFor{T}">Client</see> for <see cref="DataPointProcessorsClient"/>.</param> /// <param name="logger"><see cref="ILogger"/> for logging.</param> public DataPointsProcessors( IInstancesOf <ICanProcessDataPoints> processors, IClientFor <DataPointProcessorsClient> client, ILogger logger) { _processors = processors; _logger = logger; _client = client; }
/// <summary> /// Initializes a new instance of the <see cref="PullConnectors"/> class. /// </summary> /// <param name="pullConnectorsClient"><see cref="IClientFor{T}">client for</see> <see cref="PullConnectorsClient"/> for connecting to runtime.</param> /// <param name="connectors">Instances of <see cref="IAmAPullConnector"/>.</param> /// <param name="configuration"><see cref="PullConnectorsConfiguration"/> for configuring pull connectors.</param> public PullConnectors( IClientFor <PullConnectorsClient> pullConnectorsClient, IInstancesOf <IAmAPullConnector> connectors, PullConnectorsConfiguration configuration) { _connectors = connectors.ToDictionary(_ => (ConnectorId)Guid.NewGuid(), _ => _); _pullConnectorsClient = pullConnectorsClient; _configuration = configuration; }
/// <summary> /// Initializes a new instance of the <see cref="SchemaRegistry"/> class. /// </summary> /// <param name="originalRegistry"><see cref="ISchemaRegistry"/> for holding schemas.</param> /// <param name="providers"><see cref="IInstancesOf{T}"/> of <see cref="ICanProvideSwaggerSchemas"/>.</param> /// <param name="idManager"><see cref="SchemaIdManager"/> for managing schemaa identifiers.</param> public SchemaRegistry( ISchemaRegistry originalRegistry, IInstancesOf <ICanProvideSwaggerSchemas> providers, SchemaIdManager idManager) { _originalRegistry = originalRegistry; _providers = providers; _idManager = idManager; }
/// <summary> /// Initializes a new instance of <see cref="EntityContext{T}"/> /// </summary> /// <param name="connection"></param> /// <param name="classMaps"></param> public EntityContext(EntityContextConnection connection, IInstancesOf <BsonClassMap> classMaps) { _connection = connection; _collectionName = typeof(T).Name; _collection = _connection.Database.GetCollection <T>(_collectionName); RegisterClassMapsIfNotRegistered(classMaps); }
public TextMessageProcessors( IInstancesOf <ICanProcessTextMessage> processors, ICommandContextManager commandContextManager, ILogger logger) { _processors = processors; _commandContextManager = commandContextManager; _logger = logger; }
/// <summary> /// Initializes a new instance of <see cref="BootProcedures"/> /// </summary> /// <param name="procedures"></param> /// <param name="logger"></param> /// <param name="executionContextManager"></param> public BootProcedures( IInstancesOf <ICanPerformBootProcedure> procedures, ILogger logger, IExecutionContextManager executionContextManager) { _procedures = procedures; _logger = logger; _executionContextManager = executionContextManager; }
/// <summary> /// Initializes a new instance of <see cref="StreamingConnectors"/> /// </summary> /// <param name="connectors">Instances of <see cref="IAmAStreamingConnector"/></param> /// <param name="communicationClient"><see cref="ICommunicationClient"/> for communication</param> /// <param name="logger"><see cref="ILogger"/> for logging</param> public StreamingConnectors( IInstancesOf <IAmAStreamingConnector> connectors, ICommunicationClient communicationClient, ILogger logger) { _connectors = connectors; _logger = logger; _communicationClient = communicationClient; }
/// <summary> /// Initializes a new instance of <see cref="InteractionServer"/> /// </summary> /// <param name="services"><see cref="IInstancesOf{ICanBindInteractionServices}">Binders of interaction services</see></param> /// <param name="configuration"><see cref="Configuration"/> for <see cref="Configuration"/></param> /// <param name="logger"><see cref="ILogger"/> for logging</param> public InteractionServer( IInstancesOf <ICanBindInteractionServices> services, Configuration configuration, ILogger logger) { _services = services; _logger = logger; _configuration = configuration; _server = CreateServer(); }
/// <summary> /// Initializes a new instance of the <see cref="EventProcessors"/> class. /// </summary> /// <param name="systemsThatKnowsAboutEventProcessors">Instances of <see cref="IKnowAboutEventProcessors"/>.</param> /// <param name="objectFactory"><see cref="IObjectFactory"/> for creating instances of objects.</param> /// <param name="logger"><see cref="ILogger"/> for logging.</param> public EventProcessors( IInstancesOf <IKnowAboutEventProcessors> systemsThatKnowsAboutEventProcessors, IObjectFactory objectFactory, ILogger logger) { _systemsThatKnowsAboutEventProcessors = systemsThatKnowsAboutEventProcessors; GatherEventProcessors(); _logger = logger; _objectFactory = objectFactory; }
/// <summary> /// Initializes a new instance of <see cref="PullConnectors"/> /// </summary> /// <param name="configurationFactory"></param> /// <param name="connectors"></param> /// <param name="communicationClient"></param> /// <param name="logger"></param> public PullConnectors( FactoryFor <PullConnectorsConfiguration> configurationFactory, IInstancesOf <IAmAPullConnector> connectors, ICommunicationClient communicationClient, ILogger logger) { _connectors = connectors; _communicationClient = communicationClient; _logger = logger; _configurationFactory = configurationFactory; }
/// <summary> /// Initializes a new instance of the <see cref="TaskManager"/> class. /// </summary> /// <param name="taskRepository">A <see cref="ITaskRepository"/> to load / save <see cref="Task">tasks</see>.</param> /// <param name="taskScheduler">A <see cref="ITaskScheduler"/> for executing tasks and their operations.</param> /// <param name="reporters"><see cref="IInstancesOf{ITaskStatusReporter}">Reporters</see>.</param> /// <param name="container">A <see cref="IContainer"/> to use for getting instances.</param> public TaskManager( ITaskRepository taskRepository, ITaskScheduler taskScheduler, IInstancesOf <ITaskStatusReporter> reporters, IContainer container) { _taskRepository = taskRepository; _taskScheduler = taskScheduler; _container = container; _reporters = reporters; }
/// <summary> /// Initializes a new instance of the <see cref="SchemaRegistryFactory"/> class. /// </summary> /// <param name="mvcJsonOptionsAccessor"><see cref="IOptions{T}">Options</see> for <see cref="MvcJsonOptions"/>.</param> /// <param name="schemaRegistryOptionsAccessor"><see cref="IOptions{T}">Options</see> for <see cref="SchemaRegistryOptions"/>.</param> /// <param name="schemaProviders"><see cref="IInstancesOf{T}"/> of <see cref="ICanProvideSwaggerSchemas"/>.</param> public SchemaRegistryFactory( IOptions <MvcJsonOptions> mvcJsonOptionsAccessor, IOptions <SchemaRegistryOptions> schemaRegistryOptionsAccessor, IInstancesOf <ICanProvideSwaggerSchemas> schemaProviders) { _jsonSerializerSettings = mvcJsonOptionsAccessor.Value.SerializerSettings; _schemaRegistryOptions = schemaRegistryOptionsAccessor.Value; _schemaProviders = schemaProviders; _originalFactory = new OriginalSchemaRegistryFactory(_jsonSerializerSettings, _schemaRegistryOptions); }
/// <summary> /// Initializes a new instance of <see cref="Policies"/> /// </summary> /// <param name="defaultPolicyDefiners">Instances of <see cref="IDefineDefaultPolicy">default policy definers</see></param> /// <param name="namedPolicyDefiners">Instances of <see cref="IDefineNamedPolicy">named policy definers</see></param> /// <param name="typedPolicyDefiners">Instances of <see cref="IDefinePolicyForType">typed policy definers</see></param> public Policies( IInstancesOf <IDefineDefaultPolicy> defaultPolicyDefiners, IInstancesOf <IDefineNamedPolicy> namedPolicyDefiners, IInstancesOf <IDefinePolicyForType> typedPolicyDefiners) { _defaultPolicyDefiners = defaultPolicyDefiners; _namedPolicyDefiners = namedPolicyDefiners; _typedPolicyDefiners = typedPolicyDefiners; Default = DefineDefaultPolicy(); PopulateNamedPolicies(); PopulateTypedPolicies(); }
public CaseReportsController( IExecutionContextConfigurator executionContextConfigurator, ITenantResolver tenantResolver, IInstancesOf <ICanExportCaseReports> exporters, FactoryFor <AllCaseReportsForListing> allCaseReports ) { _executionContextConfigurator = executionContextConfigurator; _tenantResolver = tenantResolver; _exporters = exporters; _allCaseReports = allCaseReports; }
/// <summary> /// Initializes a new instance of the <see cref="DebuggingHandlersMiddleware"/> class. /// </summary> /// <param name="next">The <see cref="RequestDelegate"/> used to call the next middleware.</param> /// <param name="options">The <see cref="DebuggingOptions"/> used to configure the middleware.</param> /// <param name="handlers">All implementations of <see cref="IDebuggingHandler"/>.</param> /// <param name="deserializer">The <see cref="IDeserializeArtifactFromHttpRequest"/> used to deserialize the artifact from the <see cref="HttpRequest"/>.</param> /// <param name="invoker">The <see cref="IInvokeDebuggingHandlerMethods"/> used to invoke the approprate debuggin handler method.</param> public DebuggingHandlersMiddleware( RequestDelegate next, IOptions <DebuggingOptions> options, IInstancesOf <IDebuggingHandler> handlers, IDeserializeArtifactFromHttpRequest deserializer, IInvokeDebuggingHandlerMethods invoker) { _next = next; _options = options; _handlers = handlers; _deserializer = deserializer; _invoker = invoker; }
/// <summary> /// Initializes a new instance of the <see cref="RegistrationBootProcedure"/> class. /// </summary> /// <param name="container">The <see cref="IContainer"/> that will be used to get <see cref="FactoryFor{T}"/> to instantiate event handlers.</param> /// <param name="manager">The <see cref="IRegisterEventHandlers"/> that will be used to register the event handlers.</param> /// <param name="handlerProviders">Providers of <see cref="ICanHandleEvents"/>.</param> /// <param name="externalHandlerProviders">Providers of <see cref="ICanHandleExternalEvents"/>.</param> /// <param name="logger">The <see cref="ILogger"/> to use for logging.</param> public RegistrationBootProcedure( IContainer container, IRegisterEventHandlers manager, IInstancesOf <ICanProvideEventHandlers> handlerProviders, IInstancesOf <ICanProvideExternalEventHandlers> externalHandlerProviders, ILogger logger) { _container = container; _manager = manager; _handlerProviders = handlerProviders; _externalHandlerProviders = externalHandlerProviders; _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="RegistrationBootProcedure"/> class. /// </summary> /// <param name="manager">The <see cref="IRegisterFilters"/> that will be used to register the filters.</param> /// <param name="filterProviders">Providers of <see cref="ICanProvideEventFilters"/>.</param> /// <param name="partitionedFilterProviders">Providers of <see cref="ICanProvideEventFiltersWithPartition"/>.</param> /// <param name="publicFilterProviders">Providers of <see cref="ICanProvidePublicEventFilters"/>.</param> /// <param name="logger"><see cref="ILogger"/> to use for logging.</param> public RegistrationBootProcedure( IRegisterFilters manager, IInstancesOf <ICanProvideEventFilters> filterProviders, IInstancesOf <ICanProvideEventFiltersWithPartition> partitionedFilterProviders, IInstancesOf <ICanProvidePublicEventFilters> publicFilterProviders, ILogger logger) { _manager = manager; _filterProviders = filterProviders; _partitionedFilterProviders = partitionedFilterProviders; _publicFilterProviders = publicFilterProviders; _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="DebuggingHandlerDocumentProvider"/> class. /// </summary> /// <param name="options">The <see cref="DebuggingOptions"/> used for configuration.</param> /// <param name="swaggerGenerator">The original <see cref="ISwaggerProvider"/> that provides documents for normal APIs.</param> /// <param name="documentGenerator">The <see cref="IDebuggingHandlerDocumentGenerator"/> used to generate documents for debugging handlers.</param> /// <param name="handlers">All implementations of <see cref="IDebuggingHandler"/>.</param> /// <param name="modifiers">All implementations of <see cref="ICanModifyDebugginHandlerDocument"/> that will be called to modify the document.</param> public DebuggingHandlerDocumentProvider( IOptions <DebuggingOptions> options, SwaggerGenerator swaggerGenerator, IDebuggingHandlerDocumentGenerator documentGenerator, IInstancesOf <IDebuggingHandler> handlers, IInstancesOf <ICanModifyDebugginHandlerDocument> modifiers) { _options = options; _swaggerGenerator = swaggerGenerator; _documentGenerator = documentGenerator; _handlers = handlers; _modifiers = modifiers; }
public IdentityServerOptionsProvider( IExecutionContextManager executionManager, IPortalContextManager portalManager, IInstancesOf <ICanConfigureIdentityServer> configurers, FactoryFor <ICanConfigureIdentityServerForPortal> portalConfigurerFactory ) { _executionManager = executionManager; _portalManager = portalManager; _configurers = configurers; _portalConfigurerFactory = portalConfigurerFactory; _defaultOptions = DefaultOptions(); }
/// <summary> /// Initializes a new instance of <see cref="ApplicationResourceResolver"/> /// </summary> /// <param name="application">Current <see cref="IApplication">Application</see></param> /// <param name="types"><see cref="IApplicationResourceTypes">Resource types</see> available</param> /// <param name="resolvers">Instances of <see cref="ICanResolveApplicationResources"/> for specialized resolving</param> /// <param name="typeDiscoverer"><see cref="ITypeDiscoverer"/> for discovering types needed</param> /// <param name="logger"><see cref="ILogger"/> for logging</param> public ApplicationResourceResolver( IApplication application, IApplicationResourceTypes types, IInstancesOf <ICanResolveApplicationResources> resolvers, ITypeDiscoverer typeDiscoverer, ILogger logger) { _application = application; _types = types; _resolversByType = resolvers.ToDictionary(r => r.ApplicationResourceType.Identifier, r => r); _typeDiscoverer = typeDiscoverer; _logger = logger; }
static Dictionary<Type, ICanGenerateRule> Generators(IInstancesOf<ICanGenerateRule> ruleGenerators) { return ruleGenerators .SelectMany(generator => generator.From, (generator, type) => new { generator, type }) .ToDictionary(d => d.type, d => d.generator); }
/// <summary> /// Initializes a new instance of <see cref="ExceptionPublisher"/>. /// </summary> /// <param name="subscribers">All known subscribers.</param> public ExceptionPublisher(IInstancesOf<IExceptionSubscriber> subscribers) { _subscribers = subscribers; }
Dictionary<Type, ICanGenerateRule> Generators(IInstancesOf<ICanGenerateRule> ruleGenerators) { return ( from generator in ruleGenerators from type in generator.From select new {generator, type}) .ToDictionary(d => d.type, d => d.generator); }
/// <summary> /// Initializes an instance of <see cref="ValidationMetaData"/> /// </summary> public ValidationMetaData(IInstancesOf<ICanGenerateValidationMetaData> generators) { _generators = generators; }
/// <summary> /// Initializes a new instance of <see cref="CommandValidators"/> /// </summary> /// <param name="validators">Instances of validators to use</param> public CommandValidators(IInstancesOf<ICommandValidator> validators) { _validators = validators; }