Exemple #1
0
        public ProjectionEngine(IProjector projector,
                                IFilterableDatabase database,
                                ITransactionalDatabase transactionalDatabase,
                                IServiceProvider serviceProvider,
                                ILogger <ProjectionEngine> logger = default)
        {
            if (projector == null)
            {
                throw new ArgumentNullException(nameof(projector));
            }

            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            if (transactionalDatabase == null)
            {
                throw new ArgumentNullException(nameof(transactionalDatabase));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            _projector             = projector;
            _database              = database;
            _transactionalDatabase = transactionalDatabase;
            _serviceProvider       = serviceProvider;
            _logger = logger;
        }
        public EntryStateStorageFactory(IFilterableDatabase database)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            _dataStore = database;
        }
Exemple #3
0
        public TransactionStateStorage(IFilterableDatabase database)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            _database = database;
        }
Exemple #4
0
        public StreamPersistence(IFilterableDatabase database /*, ISnapshotProcessor snapshotProcessor*/)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            //if (snapshotProcessor == null)
            //    throw new ArgumentNullException(nameof(snapshotProcessor));

            _database = database;
            //_snapshotProcessor = snapshotProcessor;
        }
        public CoordinationStorage(IFilterableDatabase database,
                                   IStoredSessionManager storedSessionManager,
                                   IStoredEntryManager storedEntryManager)
        {
            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            if (storedSessionManager == null)
            {
                throw new ArgumentNullException(nameof(storedSessionManager));
            }

            if (storedEntryManager == null)
            {
                throw new ArgumentNullException(nameof(storedEntryManager));
            }

            _database             = database;
            _storedSessionManager = storedSessionManager;
            _storedEntryManager   = storedEntryManager;
        }
Exemple #6
0
 public TargetScopedProjectionEngine(IFilterableDatabase database)
 {
     _targetMetadataCache = new Dictionary <ProjectionTargetDescriptor, ProjectionTargetMetadataCacheEntry>();
     _database            = database;
 }
Exemple #7
0
        private static CoordinationStorage BuildCoordinationStorage(IServiceProvider serviceProvider, IFilterableDatabase database)
        {
            Assert(serviceProvider != null);
            Assert(database != null);

            var storedSessionManager = serviceProvider.GetRequiredService <IStoredSessionManager>();
            var storedEntryManager   = serviceProvider.GetRequiredService <IStoredEntryManager>();

            return(new CoordinationStorage(database, storedSessionManager, storedEntryManager));
        }
Exemple #8
0
        public static ICoordinationBuilder UseDatabase(this ICoordinationBuilder builder, IFilterableDatabase database)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            builder.Services.UseCoordinationStorage(p => BuildCoordinationStorage(p, database));

            return(builder);
        }