Exemple #1
0
        /// <inheritdoc/>
        public void Provide(IBindingProviderBuilder builder)
        {
            builder.Bind <IEventStore>().To <NullEventStore>().Singleton();
            builder.Bind <IEventSourceVersions>().To <NullEventSourceVersions>().Singleton();
            builder.Bind <IEventEnvelopes>().To <EventEnvelopes>();
            builder.Bind <IEventSequenceNumbers>().To <NullEventSequenceNumbers>();
            builder.Bind <IEventProcessors>().To <EventProcessors>();
            builder.Bind <IEventProcessorLog>().To <NullEventProcessorLog>();
            builder.Bind <IEventProcessorStates>().To <NullEventProcessorStates>();
            //builder.Bind<ICanSendCommittedEventStream>().To<NullCommittedEventStreamSender>().Singleton();

            var bridge = new CommittedEventStreamBridge();

            builder.Bind <ICommittedEventStreamBridge>().To(bridge);

            builder.Bind <ICanSendCommittedEventStream>().To <Infrastructure.Kafka.BoundedContexts.CommittedEventStreamSender>().Singleton();

            var receiver = new CommittedEventStreamReceiver(bridge, new NullLogger());

            builder.Bind <ICanReceiveCommittedEventStream>().To(receiver);

            builder.Bind <ExecutionContextPopulator>().To((ExecutionContext, details) => { });
            builder.Bind <ClaimsPrincipal>().To(() => new ClaimsPrincipal(new ClaimsIdentity()));
            builder.Bind <CultureInfo>().To(() => CultureInfo.InvariantCulture);
            builder.Bind <ICallContext>().To(new DefaultCallContext());
            builder.Bind <ICanResolvePrincipal>().To(new DefaultPrincipalResolver());

            var boundedContext = new BoundedContext("visualization");

            builder.Bind <BoundedContext>().To(boundedContext);

            var applicationConfigurationBuilder = new ApplicationConfigurationBuilder("OCFEV")
                                                  .Application(applicationBuilder =>
                                                               applicationBuilder
                                                               .PrefixLocationsWith(boundedContext)
                                                               .WithStructureStartingWith <BoundedContext>(_ => _
                                                                                                           .Required.WithChild <Feature>(f => f
                                                                                                                                         .WithChild <SubFeature>(c => c.Recursive)
                                                                                                                                         )
                                                                                                           )
                                                               )
                                                  .StructureMappedTo(_ => _
                                                                     .Domain("Infrastructure.Events.-^{Feature}.-^{SubFeature}*")
                                                                     .Domain("Domain.-^{Feature}.-^{SubFeature}*")
                                                                     .Domain("Domain.-^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Events("Events.-^{Feature}.-^{SubFeature}*")
                                                                     .Events("Events.-^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Events("ExternalEvents.-^{Feature}.-^{SubFeature}*")
                                                                     .Events("ExternalEvents.-^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Read("Read.-^{Feature}.-^{SubFeature}*")
                                                                     .Read("Read.-^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Frontend("Web.-^{Feature}.-^{SubFeature}*")
                                                                     .Frontend("Web.-^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     );

            (IApplication application, IApplicationStructureMap structureMap)applicationConfiguration = applicationConfigurationBuilder.Build();

            builder.Bind <IApplication>().To(applicationConfiguration.application);
            builder.Bind <IApplicationStructureMap>().To(applicationConfiguration.structureMap);
        }
Exemple #2
0
        /// <inheritdoc/>
        public void Provide(IBindingProviderBuilder builder)
        {
            builder.Bind <IEventStore>().To <NullEventStore>().Singleton();
            builder.Bind <IEventSourceVersions>().To <NullEventSourceVersions>().Singleton();
            builder.Bind <IEventEnvelopes>().To <EventEnvelopes>();
            builder.Bind <IEventSequenceNumbers>().To <NullEventSequenceNumbers>();
            builder.Bind <IEventProcessors>().To <EventProcessors>();
            builder.Bind <IEventProcessorLog>().To <NullEventProcessorLog>();
            builder.Bind <IEventProcessorStates>().To <NullEventProcessorStates>();
            //builder.Bind<ICanSendCommittedEventStream>().To<NullCommittedEventStreamSender>().Singleton();

            var bridge = new CommittedEventStreamBridge();

            builder.Bind <ICommittedEventStreamBridge>().To(bridge);

            builder.Bind <ICanSendCommittedEventStream>().To <CommittedEventStreamSender>().Singleton();

            var receiver = new CommittedEventStreamReceiver(bridge, new NullLogger());

            builder.Bind <ICanReceiveCommittedEventStream>().To(receiver);

            builder.Bind <ExecutionContextPopulator>().To((ExecutionContext, details) => { });
            builder.Bind <ClaimsPrincipal>().To(() => new ClaimsPrincipal(new ClaimsIdentity()));
            builder.Bind <CultureInfo>().To(() => CultureInfo.InvariantCulture);
            builder.Bind <ICallContext>().To(new DefaultCallContext());
            builder.Bind <ICanResolvePrincipal>().To(new DefaultPrincipalResolver());

            var applicationConfigurationBuilder = new ApplicationConfigurationBuilder("Studio")
                                                  .Application(applicationBuilder =>
                                                               applicationBuilder
                                                               .PrefixLocationsWith(new BoundedContext("Sentry"))
                                                               .WithStructureStartingWith <BoundedContext>(_ => _)

                                                               //(new ApplicationStructureFragment(typeof(BoundedContext)), _ => { })
                                                               )

                                                  .StructureMappedTo(_ => _
                                                                     .Domain("Domain.-^{Feature}.-^{SubFeature}*")
                                                                     .Domain("Domain.-^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Events("Events.-^{Feature}.-^{SubFeature}*")
                                                                     .Events("Events.-^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Read("Read.-^{Feature}.-^{SubFeature}*")
                                                                     .Read("Read.-^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Frontend("Web.-^{Feature}.-^{SubFeature}*")
                                                                     .Frontend("Web.-^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     );

            (IApplication application, IApplicationStructureMap structureMap)applicationConfiguration = applicationConfigurationBuilder.Build();

            builder.Bind <IApplication>().To(applicationConfiguration.application);
            builder.Bind <IApplicationStructureMap>().To(applicationConfiguration.structureMap);

            builder.Bind <Dolittle.ReadModels.MongoDB.Configuration>().To(new Dolittle.ReadModels.MongoDB.Configuration
            {
                Url             = "mongodb://localhost:27017",
                UseSSL          = false,
                DefaultDatabase = "Demo"
            });
            builder.Bind(typeof(IReadModelRepositoryFor <>)).To(typeof(ReadModelRepositoryFor <>));
        }
Exemple #3
0
        /// <inheritdoc/>
        public void Provide(IBindingProviderBuilder builder)
        {
            builder.Bind <IEventStore>().To <NullEventStore>().Singleton();
            builder.Bind <IEventSourceVersions>().To <NullEventSourceVersions>().Singleton();
            builder.Bind <IEventEnvelopes>().To <EventEnvelopes>();
            builder.Bind <IEventSequenceNumbers>().To <NullEventSequenceNumbers>();
            builder.Bind <IEventProcessors>().To <EventProcessors>();
            builder.Bind <IEventProcessorLog>().To <NullEventProcessorLog>();
            builder.Bind <IEventProcessorStates>().To <NullEventProcessorStates>();
            //builder.Bind<ICanSendCommittedEventStream>().To<NullCommittedEventStreamSender>().Singleton();

            var bridge = new CommittedEventStreamBridge();

            builder.Bind <ICommittedEventStreamBridge>().To(bridge);

            builder.Bind <ICanSendCommittedEventStream>().To <Kafka.BoundedContexts.CommittedEventStreamSender>().Singleton();

            var receiver = new CommittedEventStreamReceiver(bridge, new NullLogger());

            builder.Bind <ICanReceiveCommittedEventStream>().To(receiver);

            builder.Bind <ExecutionContextPopulator>().To((ExecutionContext, details) => { });
            builder.Bind <ClaimsPrincipal>().To(() => new ClaimsPrincipal(new ClaimsIdentity()));
            builder.Bind <CultureInfo>().To(() => CultureInfo.InvariantCulture);
            builder.Bind <ICallContext>().To(new DefaultCallContext());
            builder.Bind <ICanResolvePrincipal>().To(new DefaultPrincipalResolver());

            builder.Bind <BoundedContext>().To(Globals.BoundedContext);

            var applicationConfigurationBuilder = new ApplicationConfigurationBuilder("CBS")
                                                  .Application(applicationBuilder =>
                                                               applicationBuilder
                                                               .PrefixLocationsWith(Globals.BoundedContext)
                                                               .WithStructureStartingWith <BoundedContext>(_ => _.Required
                                                                                                           .WithChild <Module>(m => m.Required
                                                                                                                               .WithChild <Feature>(f => f
                                                                                                                                                    .WithChild <SubFeature>(c => c.Recursive)
                                                                                                                                                    )
                                                                                                                               )
                                                                                                           )
                                                               )
                                                  .StructureMappedTo(_ => _
                                                                     .Include("Infrastructure.^Events.^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Include("Domain.^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Include("Events.^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Include("Read.^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     .Include("Web.^{Module}.-^{Feature}.-^{SubFeature}*")
                                                                     );

            (IApplication application, IApplicationStructureMap structureMap)applicationConfiguration = applicationConfigurationBuilder.Build();

            builder.Bind <IApplication>().To(applicationConfiguration.application);
            builder.Bind <IApplicationStructureMap>().To(applicationConfiguration.structureMap);

            builder.Bind <Dolittle.ReadModels.MongoDB.Configuration>().To(new Dolittle.ReadModels.MongoDB.Configuration
            {
                Url             = "mongodb://localhost:27017",
                UseSSL          = false,
                DefaultDatabase = "Demo"
            });
            builder.Bind(typeof(IReadModelRepositoryFor <>)).To(typeof(ReadModelRepositoryFor <>));

            builder.Bind(typeof(IApplicationArtifacts)).To(typeof(ApplicationArtifacts));
            builder.Bind(typeof(ICommandHandlerInvoker)).To(typeof(CommandHandlerInvoker));
        }