public ClaptrapAppProvider( IClaptrapDesignStore claptrapDesignStore, ILoggerFactory loggerFactory) { _claptrapDesignStore = claptrapDesignStore; _loggerFactory = loggerFactory; }
public Startup(IConfiguration configuration) { Configuration = configuration; var loggerFactory = new ServiceCollection() .AddLogging(logging => logging.AddConsole()) .BuildServiceProvider() .GetRequiredService <ILoggerFactory>(); var bootstrapperBuilder = new AutofacClaptrapBootstrapperBuilder(loggerFactory); _claptrapBootstrapper = (AutofacClaptrapBootstrapper)bootstrapperBuilder .ScanClaptrapModule() .AddConfiguration(configuration) .ScanClaptrapDesigns(new[] { typeof(IAccount), typeof(Account), typeof(IAccountBalanceMinion), typeof(AccountBalanceMinion), typeof(IAccountHistoryBalanceMinion), typeof(AccountHistoryBalanceMinion) }) .ConfigureClaptrapDesign(x => x.ClaptrapOptions.EventCenterOptions.EventCenterType = EventCenterType.None) .Build(); _claptrapDesignStore = _claptrapBootstrapper.DumpDesignStore(); }
public ClaptrapCustomizationModule( IClaptrapDesignStore claptrapDesignStore, ILogger <ClaptrapCustomizationModule> logger) { _logger = logger; _claptrapDesignStore = claptrapDesignStore; }
public AutofacClaptrapBootstrapper( ContainerBuilder builder, IEnumerable <Module> modules, IClaptrapDesignStore claptrapDesignStore) { _modules = modules; _builder = builder; _claptrapDesignStore = claptrapDesignStore; }
public MQSenderManager( IClaptrapDesignStore claptrapDesignStore, IConnectionManager connectionManager, MqSender.Factory mqSenderFactory) { _claptrapDesignStore = claptrapDesignStore; _connectionManager = connectionManager; _mqSenderFactory = mqSenderFactory; }
public AutofacClaptrapBootstrapper( Type[] providers, IEnumerable <Module> modules, IClaptrapDesignStore claptrapDesignStore) { _modules = modules; _providers = providers; ClaptrapDesignStore = claptrapDesignStore; Design.ClaptrapDesignStore.Instance = claptrapDesignStore; }
public DaprMinionActivator( ILogger <DaprMinionActivator> logger, IActorProxyFactory actorProxyFactory, IClaptrapDesignStore claptrapDesignStore) { _logger = logger; _actorProxyFactory = actorProxyFactory; _minionLookUp = claptrapDesignStore.Where(x => x.ClaptrapMasterDesign != null) .ToLookup(x => x.ClaptrapMasterDesign !.ClaptrapTypeCode) .ToDictionary(x => x.Key, x => x.ToArray()); }
public DaprEventCenter( IClaptrapDesignStore designStore, IMinionLocator minionLocator, ILogger <DaprEventCenter> logger) { _minionLocator = minionLocator; _logger = logger; _minionDesignsLookup = designStore .Where(x => x.IsMinion()) .ToLookup(x => x.ClaptrapMasterDesign !.ClaptrapTypeCode); }
public OrleansMinionActivator( ILogger <OrleansMinionActivator> logger, IGrainFactory grainFactory, IClaptrapDesignStore claptrapDesignStore) { _logger = logger; _grainFactory = grainFactory; _minionLookUp = claptrapDesignStore.Where(x => x.ClaptrapMasterDesign != null) .ToLookup(x => x.ClaptrapMasterDesign.ClaptrapTypeCode) .ToDictionary(x => x.Key, x => x.ToArray()); }
public DesignBaseEventHandlerFactory( IClaptrapIdentity identity, ILifetimeScope lifetimeScope, IClaptrapDesignStore claptrapDesignStore, ILogger <DesignBaseEventHandlerFactory> logger) { _lifetimeScope = lifetimeScope; _claptrapDesignStore = claptrapDesignStore; _logger = logger; Identity = identity; }
public ClaptrapHandler(IActorProxyFactory actorProxyFactory, IClaptrapDesignStore claptrapDesignStore, IEventSerializer <EventJsonModel> eventSerializer, IEventStringSerializer eventStringSerializer) { _actorProxyFactory = actorProxyFactory; _eventSerializer = eventSerializer; _eventStringSerializer = eventStringSerializer; _minionTypeCodes = claptrapDesignStore.Where(x => x.IsMinion()) .GroupBy(x => x.ClaptrapMasterDesign !.ClaptrapTypeCode) .ToDictionary(x => x.Key, x => x.Select(a => a.ClaptrapTypeCode)); }
public string Format(IClaptrapDesignStore claptrapDesignStore) { var designs = claptrapDesignStore .OrderBy(x => x.MasterOfSelfTypeCode()) .ThenBy(x => x.IsMinion()) .ToArray(); var sb = new StringBuilder(); sb.AppendLine("# claptrap"); foreach (var design in designs) { sb.AppendLine(OneDesign(design)); } sb.AppendLine("# events"); var eventDefs = designs.SelectMany(design => design.EventHandlerDesigns .Select(eventHandlerDesign => new { design, eventHandlerDesign, masterClaptrapTypeCode = design.ClaptrapMasterDesign != null ? design.ClaptrapMasterDesign.ClaptrapTypeCode : design.ClaptrapTypeCode, eventTypeCode = eventHandlerDesign.Key })) .GroupBy(x => x.masterClaptrapTypeCode + x.eventTypeCode) .Select(x => { var first = x.First(); return(new EventDef { EventTypeCode = first.eventHandlerDesign.Key, MasterClaptrapTypeCode = first.masterClaptrapTypeCode, EventHandlerDefs = x.Select(a => new EventHandlerDef { Handler = a.eventHandlerDesign.Value.EventHandlerType.Name, ClaptrapTypeCode = a.design.ClaptrapTypeCode, }) .ToArray(), }); }); foreach (var eventDef in eventDefs) { sb.AppendLine(OneEvent(eventDef)); } var re = sb.ToString(); return(re); }
public MinionLocator( IClaptrapDesignStore designStore, IGrainFactory grainFactory, GrainMinionProxy.Factory grainMinionProxyFactory, ILogger <OrleansEventCenter> logger) { _grainFactory = grainFactory; _grainMinionProxyFactory = grainMinionProxyFactory; _logger = logger; _minionDesignsDic = designStore .Where(x => x.IsMinion()) .ToDictionary(x => x.ClaptrapTypeCode); }
public ClaptrapFactory( ILogger <ClaptrapFactory> logger, IClaptrapDesignStore claptrapDesignStore, ILifetimeScope lifetimeScope, IL l, IEnumerable <IClaptrapModuleProvider> claptrapModuleProviders) { _logger = logger; _claptrapDesignStore = claptrapDesignStore; _lifetimeScope = lifetimeScope; _l = l; _claptrapModuleProviders = claptrapModuleProviders; }
public void Configure(IClaptrapDesignStore designStore) { _designStore = designStore; AddConfig( x => x.ClaptrapOptions.EventCenterOptions == null !, x => x.ClaptrapOptions.EventCenterOptions = new EventCenterOptions { EventCenterType = EventCenterType.OrleansClient, }); AddConfig( x => x.ClaptrapOptions.EventCenterOptions.EventCenterType == EventCenterType.None, x => x.ClaptrapOptions.EventCenterOptions.EventCenterType = EventCenterType.OrleansClient); }
public void Configure(IClaptrapDesignStore designStore) { _designStore = designStore; AddConfig( x => x.ClaptrapOptions.StateSavingOptions == null !, x => x.ClaptrapOptions.StateSavingOptions = new StateSavingOptions { SavingWindowTime = TimeSpan.FromSeconds(10), SaveWhenDeactivateAsync = true, SavingWindowVersionLimit = 1000, }); AddConfig( x => x.ClaptrapOptions.MinionActivationOptions == null !, x => x.ClaptrapOptions.MinionActivationOptions = new MinionActivationOptions { ActivateMinionsAtMasterStart = false }); AddConfig( x => x.ClaptrapOptions.EventLoadingOptions == null !, x => x.ClaptrapOptions.EventLoadingOptions = new EventLoadingOptions { LoadingCountInOneBatch = 1000 }); AddConfig( x => x.ClaptrapOptions.StateRecoveryOptions == null !, x => x.ClaptrapOptions.StateRecoveryOptions = new StateRecoveryOptions { StateRecoveryStrategy = StateRecoveryStrategy.FromStore }); AddConfig( x => x.InitialStateDataFactoryType == null, x => x.InitialStateDataFactoryType = typeof(DefaultInitialStateDataFactory)); AddConfig( x => x.StateHolderFactoryType == null, x => x.StateHolderFactoryType = typeof(NoChangeStateHolderFactory)); AddConfig( x => x.EventHandlerFactoryFactoryType == null, x => x.EventHandlerFactoryFactoryType = typeof(EventHandlerFactoryFactory)); AddConfig( x => x.EventNotifierFactoryType == null, x => x.EventNotifierFactoryType = typeof(CompoundEventNotifierFactory)); AddConfig( x => true, DisplayInfoFiller.FillDisplayInfo); AddConfig( x => x.ClaptrapOptions.EventCenterOptions == null !, x => x.ClaptrapOptions.EventCenterOptions = new EventCenterOptions { EventCenterType = EventCenterType.None, }); }
public static ActorRuntimeOptions AddClaptrapDesign(this ActorRuntimeOptions options, IClaptrapDesignStore store) { foreach (var claptrapDesign in store) { var actorTypeInformation = ActorTypeInformation.Get(claptrapDesign.ClaptrapBoxImplementationType); options.Actors.Add( new ActorRegistration( actorTypeInformation)); } return(options); }
private IClaptrapDesignStore ValidateStore( IClaptrapDesignStore claptrapDesignStore, IClaptrapDesignStoreValidator validator) { _logger.LogDebug(_l.Value[LK.start_to_validate_all_design_in_claptrap_design_store]); var(isOk, errorMessage) = validator.Validate(claptrapDesignStore); if (!isOk) { throw new ClaptrapDesignStoreValidationFailException(errorMessage); } _logger.LogInformation(_l.Value[LK.all_design_validated_ok]); return(claptrapDesignStore); }
public void Configure(IClaptrapDesignStore designStore) { designStore.AddOrReplaceFactory(SagaCodes.ClaptrapTypeCode, (identity, design) => { var sagaClaptrapIdentity = (ISagaClaptrapIdentity)identity; var userDataType = sagaClaptrapIdentity.UserDataType; var stateDataType = typeof(SagaStateData <>); var finalType = stateDataType.MakeGenericType(userDataType); var newDesign = new ClaptrapDesign(design) { StateDataType = finalType, }; return(newDesign); }); }
public MQSubscriberManager( ILogger <MQSubscriberManager> logger, IConnectionManager connectionManager, IEventStringSerializer eventStringSerializer, IClaptrapDesignStore claptrapDesignStore, IMessageSerializer messageSerializer, IMinionLocator minionLocator) { _logger = logger; _connectionManager = connectionManager; _eventStringSerializer = eventStringSerializer; _claptrapDesignStore = claptrapDesignStore; _messageSerializer = messageSerializer; _minionLocator = minionLocator; }
public Startup(IConfiguration configuration) { Configuration = configuration; var loggerFactory = new ServiceCollection() .AddLogging(logging => logging.AddConsole()) .BuildServiceProvider() .GetRequiredService <ILoggerFactory>(); var bootstrapperBuilder = new AutofacClaptrapBootstrapperBuilder(loggerFactory); _claptrapBootstrapper = (AutofacClaptrapBootstrapper)bootstrapperBuilder .ScanClaptrapModule() .AddConfiguration(configuration) .ScanClaptrapDesigns(new[] { typeof(SeatActor).Assembly }) .Build(); _claptrapDesignStore = _claptrapBootstrapper.DumpDesignStore(); }
private IClaptrapDesignStore ConfigStore( IClaptrapDesignStore claptrapDesignStore, IEnumerable <IClaptrapDesignStoreConfigurator> configurators) { _logger.LogInformation(_l.Value[LK.claptrap_design_store_created__start_to_configure_it]); _logger.LogDebug(_l.Value[LK.all_designs____designs_], JsonConvert.SerializeObject(claptrapDesignStore.ToArray())); foreach (var configurator in configurators) { _logger.LogDebug(_l.Value[LK.start_to_configure_claptrap_design_store_by__configurator_], configurator); configurator.Configure(claptrapDesignStore); } _logger.LogInformation(_l.Value[LK.found__actorCount__claptrap_designs], claptrapDesignStore.Count()); _logger.LogDebug(_l.Value[LK.all_designs_after_configuration___designs_], JsonConvert.SerializeObject(claptrapDesignStore.ToArray())); return(claptrapDesignStore); }
private (ILifetimeScope scope, IClaptrapAppProvider[] appProviders) CreateAppProviders( ILifetimeScope container, IClaptrapDesignStore claptrapDesignStore) { var scope = container.BeginLifetimeScope(innerBuilder => { var providerTypes = Options.ModuleTypes .Where(x => x.IsClass && !x.IsAbstract) .Where(x => x.GetInterface(typeof(IClaptrapAppProvider).FullName) != null) .ToArray(); _logger.LogDebug("Found type {providerTypes} as {name}", providerTypes, nameof(IClaptrapAppProvider)); innerBuilder.RegisterTypes(providerTypes) .As <IClaptrapAppProvider>() .InstancePerLifetimeScope(); innerBuilder.RegisterInstance(claptrapDesignStore); }); var appProviders = scope.Resolve <IEnumerable <IClaptrapAppProvider> >(); return(scope, appProviders.ToArray()); }
public ClaptrapModuleProvider( IClaptrapDesignStore claptrapDesignStore) { _claptrapDesignStore = claptrapDesignStore; }
public DefaultInitialStateDataFactory( IClaptrapDesignStore claptrapDesignStore) { _claptrapDesignStore = claptrapDesignStore; }
public string Format(IClaptrapDesignStore claptrapDesignStore) { var re = JsonConvert.SerializeObject(claptrapDesignStore, Formatting.Indented); return(re); }
public void Configure(IClaptrapDesignStore designStore) { _action.Invoke(designStore); }
public ClaptrapTypeCodeFactory( IClaptrapDesignStore claptrapDesignStore) { _claptrapDesignStore = claptrapDesignStore; }
public JsonEventDataStringSerializer( IClaptrapDesignStore claptrapDesignStore) { _claptrapDesignStore = claptrapDesignStore; }