/// <summary> /// Initializes a new instance of the <see cref="EventConverter"/> class with a given type resolver. /// </summary> /// <param name="typeResolver">The type resolver to use when looking up event names for a specific event type.</param> /// <exception cref="ArgumentNullException"><paramref name="typeResolver"/> is <value>null</value>.</exception> public EventConverter(IEventTypeResolver typeResolver) { Contract.Requires<ArgumentNullException>(typeResolver != null, "typeResolver"); _converters = new Dictionary<string, IEventConverter>(); _typeResolver = typeResolver; }
/// <summary> /// Initializes a new instance of the <see cref="EventConverter"/> class with a given type resolver. /// </summary> /// <param name="typeResolver">The type resolver to use when looking up event names for a specific event type.</param> /// <exception cref="ArgumentNullException"><paramref name="typeResolver"/> is <value>null</value>.</exception> public EventConverter(IEventTypeResolver typeResolver) { Contract.Requires <ArgumentNullException>(typeResolver != null, "typeResolver"); _converters = new Dictionary <string, IEventConverter>(); _typeResolver = typeResolver; }
public void SetUp() { var typeResolver = new AttributeEventTypeResolver(); typeResolver.AddEvent(typeof(AnEvent)); _typeResolver = typeResolver; }
/// <summary> /// Initializes a new instance of the <see cref="JsonEventFormatter"/> class /// with a given type resolver. /// </summary> /// <param name="typeResolver">The <see cref="IEventTypeResolver"/> to use /// when resolving event types/names.</param> /// <exception cref="ArgumentNullException"><paramref name="typeResolver"/> is <value>null</value>.</exception> public JsonEventFormatter(IEventTypeResolver typeResolver) { Contract.Requires <ArgumentNullException>(typeResolver != null, "typeResolver"); _typeResolver = typeResolver; _serializer = new JsonSerializer(); }
public static DomainEvent Create(ResolvedEvent @event, IEventTypeResolver typeResolver) { var type = typeResolver.GetType(@event.Event.EventType); var body = Encoding.UTF8.GetString(@event.Event.Data); return((DomainEvent)JsonConvert.DeserializeObject(body, type)); }
public JsonEventFormatterTests() { var typeResolver = new AttributeEventTypeResolver(); typeResolver.AddEvent(typeof(AnEvent)); _typeResolver = typeResolver; }
public InMemoryEventStore( IEventTypeResolver eventTypeResolver, Dictionary <string, List <string> > eventsContainer) { _eventTypeResolver = eventTypeResolver; _eventsContainer = eventsContainer; }
public CosmosEventStore(IEventTypeResolver eventTypeResolver, string endpointUrl, string authorizationKey, string databaseId, string containerId = "events") { _eventTypeResolver = eventTypeResolver; _client = new CosmosClient(endpointUrl, authorizationKey); _databaseId = databaseId; _containerId = containerId; }
/// <summary> /// Initializes a new instance of the <see cref="JsonEventFormatter"/> class /// with a given type resolver. /// </summary> /// <param name="typeResolver">The <see cref="IEventTypeResolver"/> to use /// when resolving event types/names.</param> /// <exception cref="ArgumentNullException"><paramref name="typeResolver"/> is <value>null</value>.</exception> public JsonEventFormatter(IEventTypeResolver typeResolver) { Contract.Requires <ArgumentNullException>(typeResolver != null, "typeResolver"); _typeResolver = typeResolver; _serializer = new JsonSerializer { ContractResolver = NcqrsEnvironment.Get <IContractResolver>() }; }
public MsSqlServerEventStore(String connectionString, IEventTypeResolver typeResolver, IEventConverter converter) { if (String.IsNullOrEmpty(connectionString)) throw new ArgumentNullException("connectionString"); _connectionString = connectionString; _converter = converter ?? new NullEventConverter(); _formatter = new JsonEventFormatter(typeResolver ?? new SimpleEventTypeResolver()); _translator = new StringEventTranslator(); }
public EventConverterTests() { _typeResolver = MockRepository.GenerateStub <IEventTypeResolver>(); _typeResolver .Stub(x => x.EventNameFor(typeof(AnEvent))) .TentativeReturn() .Return(EventName); _childConverter = MockRepository.GenerateStub <IEventConverter>(); }
public void SetUp() { _typeResolver = MockRepository.GenerateStub<IEventTypeResolver>(); _typeResolver .Stub(x => x.EventNameFor(typeof(AnEvent))) .TentativeReturn() .Return(EventName); _childConverter = MockRepository.GenerateStub<IEventConverter>(); }
public MongoDBEventStore(string connectionString = DEFAULT_DATABASE_URI, IEventTypeResolver typeResolver = null, IEventConverter converter = null) { _database = MongoDatabase.Create(connectionString); _commits = _database.GetCollection<MongoCommit>("Commits"); _events = _database.GetCollection<BsonDocument>("SourcedEvents"); _converter = converter ?? new NullEventConverter(); _formatter = new JsonEventFormatter(typeResolver ?? new SimpleEventTypeResolver()); _translator = new StringEventTranslator(); EnsureIndexes(); }
public MongoDBEventStore(string connectionString = DEFAULT_DATABASE_URI, IEventTypeResolver typeResolver = null, IEventConverter converter = null) { _database = MongoDatabase.Create(connectionString); _commits = _database.GetCollection <MongoCommit>("Commits"); _events = _database.GetCollection <BsonDocument>("SourcedEvents"); _converter = converter ?? new NullEventConverter(); _formatter = new JsonEventFormatter(typeResolver ?? new SimpleEventTypeResolver()); _translator = new StringEventTranslator(); EnsureIndexes(); }
public PostgreServerEventStore(String connectionString, IEventTypeResolver typeResolver, IEventConverter converter) { if (String.IsNullOrEmpty(connectionString)) { throw new ArgumentNullException("connectionString"); } _connectionString = connectionString; _converter = converter ?? new NullEventConverter(); _formatter = new JsonEventFormatter(typeResolver ?? new SimpleEventTypeResolver()); _translator = new StringEventTranslator(); }
public CosmosProjectionEngine(IEventTypeResolver eventTypeResolver, IViewRepository viewRepository, string endpointUrl, string authorizationKey, string databaseId, string eventContainerId = "events", string leaseContainerId = "leases") { _eventTypeResolver = eventTypeResolver; _viewRepository = viewRepository; _endpointUrl = endpointUrl; _authorizationKey = authorizationKey; _databaseId = databaseId; _eventContainerId = eventContainerId; _leaseContainerId = leaseContainerId; _projections = new List <IProjection>(); }
public IEvent GetEvent(IEventTypeResolver eventTypeResolver) { try { Type eventType = eventTypeResolver.GetEventType(EventType); return((IEvent)EventData.ToObject(eventType)); } catch (Exception ex) { throw new Exception("Failed to convert to an Event. Make sure the event " + "class is in the correct namespace."); } }
public void SetUp() { _typeResolver = MockRepository.GenerateStub <IEventTypeResolver>(); _typeResolver .Stub(x => x.EventNameFor(typeof(AnEvent))) .TentativeReturn() .Return(EventName); _typeResolver .Stub(x => x.ResolveType(EventName)) .TentativeReturn() .Return(CreateEvent(EventName).GetType()); _childConverter = MockRepository.GenerateStub <IEventConverter>(); }
public OutboxWorker(ILogger <OutboxWorker> logger, IDataStore store, IEventBus eventBus, IEventTypeResolver typeResolver, IFilter filter, IEventTransformerLookUp transformerLookUp) { _logger = logger; _store = store; _store.SetSubscriber(this); _eventBus = eventBus; _typeResolver = typeResolver; _filter = filter; _transformerLookUp = transformerLookUp; }
internal EventStreamSubscriberSettings(IEventStoreHttpConnection connection, IEventHandlerResolver eventHandlerResolver, IStreamPositionRepository streamPositionRepository, ISubscriptionTimerManager subscriptionTimerManager, IEventTypeResolver eventTypeResolver, TimeSpan pollingInterval, int sliceSize, ILog log, TimeSpan messageProcessingStatsWindowPeriod, int messageProcessingStatsWindowCount, TimeSpan? longPollingTimeout, IEnumerable<IEventStreamSubscriberPerformanceMonitor> performanceMonitors, IStreamSubscriberIntervalMonitor streamSubscriberIntervalMonitor) { Connection = connection; EventHandlerResolver = eventHandlerResolver; StreamPositionRepository = streamPositionRepository; SubscriptionTimerManager = subscriptionTimerManager; EventTypeResolver = eventTypeResolver; DefaultPollingInterval = pollingInterval; SliceSize = sliceSize; Log = log; MessageProcessingStatsWindowPeriod = messageProcessingStatsWindowPeriod; MessageProcessingStatsWindowCount = messageProcessingStatsWindowCount; LongPollingTimeout = longPollingTimeout; PerformanceMonitors = performanceMonitors; SubscriberIntervalMonitor = streamSubscriberIntervalMonitor; }
internal EventStreamSubscriber(EventStreamSubscriberSettings settings) { _connection = settings.Connection; _eventHandlerResolver = settings.EventHandlerResolver; _streamPositionRepository = settings.StreamPositionRepository; _subscriptionTimerManager = settings.SubscriptionTimerManager; _eventTypeResolver = settings.EventTypeResolver; _defaultPollingInterval = settings.DefaultPollingInterval; _sliceSize = settings.SliceSize; _longPollingTimeout = settings.LongPollingTimeout; _performanceMonitors = settings.PerformanceMonitors; _log = settings.Log; StreamSubscriberMonitor = settings.SubscriberIntervalMonitor; AllEventsStats = new PerformanceStats(settings.MessageProcessingStatsWindowPeriod, settings.MessageProcessingStatsWindowCount); ProcessedEventsStats = new PerformanceStats(settings.MessageProcessingStatsWindowPeriod, settings.MessageProcessingStatsWindowCount); }
internal EventStreamSubscriberSettings(IEventStoreHttpConnection connection, IEventHandlerResolver eventHandlerResolver, IStreamPositionRepository streamPositionRepository, ISubscriptionTimerManager subscriptionTimerManager, IEventTypeResolver eventTypeResolver, TimeSpan pollingInterval, int sliceSize, ILog log, TimeSpan messageProcessingStatsWindowPeriod, int messageProcessingStatsWindowCount, TimeSpan?longPollingTimeout, IEnumerable <IEventStreamSubscriberPerformanceMonitor> performanceMonitors, IStreamSubscriberIntervalMonitor streamSubscriberIntervalMonitor, int eventNotFoundRetryCount, TimeSpan eventNotFoundRetryDelay) { Connection = connection; EventHandlerResolver = eventHandlerResolver; StreamPositionRepository = streamPositionRepository; SubscriptionTimerManager = subscriptionTimerManager; EventTypeResolver = eventTypeResolver; DefaultPollingInterval = pollingInterval; SliceSize = sliceSize; Log = log; MessageProcessingStatsWindowPeriod = messageProcessingStatsWindowPeriod; MessageProcessingStatsWindowCount = messageProcessingStatsWindowCount; LongPollingTimeout = longPollingTimeout; PerformanceMonitors = performanceMonitors; SubscriberIntervalMonitor = streamSubscriberIntervalMonitor; EventNotFoundRetryCount = eventNotFoundRetryCount; EventNotFoundRetryDelay = eventNotFoundRetryDelay; }
public CosmosMigrationEngine( IEventTypeResolver eventTypeResolver, string endpointUrl, string authorizationKey, string databaseId, string originalEventContainerId, string outputEventContainerId, string leaseContainerId) { _eventTypeResolver = eventTypeResolver; _endpointUrl = endpointUrl; _authorizationKey = authorizationKey; _databaseId = databaseId; _originalEventContainerId = originalEventContainerId; _outputEventContainerId = outputEventContainerId; _leaseContainerId = leaseContainerId; _migrators = new List <IMigrator>(); }
/// <summary> /// /// </summary> /// <param name="eventTypeResolver"></param> /// <param name="viewRepository"></param> /// <param name="processorName"></param> /// <param name="eventEndpointUrl"></param> /// <param name="eventAuthorizationKey"></param> /// <param name="eventDatabaseId"></param> /// <param name="leaseEndpointUrl"></param> /// <param name="leaseAuthorizationKey"></param> /// <param name="leaseDatabaseId"></param> /// <param name="eventContainerId"></param> /// <param name="leaseContainerId"></param> /// <param name="epochStartTime">Sets the time (exclusive) to start looking for changes after.</param> public CosmosDBProjectionEngine(IEventTypeResolver eventTypeResolver, IViewRepository viewRepository, string processorName, string eventEndpointUrl, string eventAuthorizationKey, string eventDatabaseId, string leaseEndpointUrl, string leaseAuthorizationKey, string leaseDatabaseId, string eventContainerId, string leaseContainerId, long epochStartTime) { _eventTypeResolver = eventTypeResolver; _viewRepository = viewRepository; _processorName = processorName; _eventEndpointUrl = eventEndpointUrl; _eventAuthorizationKey = eventAuthorizationKey; _eventDatabaseId = eventDatabaseId; _leaseEndpointUrl = leaseEndpointUrl; _leaseAuthorizationKey = leaseAuthorizationKey; _leaseDatabaseId = leaseDatabaseId; _eventContainerId = eventContainerId; _leaseContainerId = leaseContainerId; _projections = new List <IProjection>(); _epochStartTime = epochStartTime; }
internal EventStreamSubscriber(EventStreamSubscriberSettings settings) { _connection = settings.Connection; _eventHandlerResolver = settings.EventHandlerResolver; _streamPositionRepository = settings.StreamPositionRepository; _subscriptionTimerManager = settings.SubscriptionTimerManager; _eventTypeResolver = settings.EventTypeResolver; _defaultPollingInterval = settings.DefaultPollingInterval; _sliceSize = settings.SliceSize; _longPollingTimeout = settings.LongPollingTimeout; _performanceMonitors = settings.PerformanceMonitors; _log = settings.Log; _eventNotFoundRetryCount = settings.EventNotFoundRetryCount; _eventNotFoundRetryDelay = settings.EventNotFoundRetryDelay; StreamSubscriberMonitor = settings.SubscriberIntervalMonitor; AllEventsStats = new PerformanceStats(settings.MessageProcessingStatsWindowPeriod, settings.MessageProcessingStatsWindowCount); ProcessedEventsStats = new PerformanceStats(settings.MessageProcessingStatsWindowPeriod, settings.MessageProcessingStatsWindowCount); }
public CosmosValidatorEngine( IEventTypeResolver eventTypeResolver, string endpointUrl, string authorizationKey, string databaseId, string originalEventContainerId, string migratedEventContainerId, string validationSuccessContainerId, string validationFailureContainerId, string leaseContainerId) { _eventTypeResolver = eventTypeResolver; _endpointUrl = endpointUrl; _authorizationKey = authorizationKey; _databaseId = databaseId; _originalEventContainerId = originalEventContainerId; _migratedEventContainerId = migratedEventContainerId; _validationSuccessContainerId = validationSuccessContainerId; _validationFailureContainerId = validationFailureContainerId; _leaseContainerId = leaseContainerId; _validators = new List <IValidator>(); }
/// <summary>Initializes a new instance of the <see cref="MsSqlServerEventStore"/> class.</summary> /// <param name="connectionString">The database connection string to the database.</param> /// <param name="applicationName">The application name that is used to isolate events and surces etc...</param> /// <param name="typeResolver">Indicates the <see cref="IEventTypeResolver"/> to use.</param> /// <param name="converter">Indicates the <see cref="IEventConverter"/> to use.</param> public MultiAppSqlServerEventStore( string connectionString, string applicationName, IEventTypeResolver typeResolver, IEventConverter converter) { if (String.IsNullOrEmpty(connectionString)) { throw new ArgumentNullException("connectionString"); } if (String.IsNullOrEmpty(applicationName)) { throw new ArgumentNullException("applicationName"); } _connectionString = connectionString; _applicationName = applicationName; _converter = converter ?? new NullEventConverter(); _formatter = new JsonEventFormatter(typeResolver ?? new SimpleEventTypeResolver()); _translator = new StringEventTranslator(); InitializeEventStore(); }
public EventStoreRepository(IEventTypeResolver eventTypeResolver, IEventStoreConnection connection) { _connection = connection; _eventTypeResolver = eventTypeResolver; }
public JsonEventSerializer(IEventTypeResolver eventTypeResolver) { this.eventTypeResolver = eventTypeResolver; }
public Repository(IEventStoreConnection eventStoreConnection, IEventTypeResolver eventTypeResolver) { _eventStoreConnection = eventStoreConnection; _eventTypeResolver = eventTypeResolver; }
public EventStreamSubscriberSettingsBuilder WithCustomEventTypeResolver(IEventTypeResolver eventTypeResolver) { _eventTypeResolver = eventTypeResolver; return this; }
public IEvent GetEvent(IEventTypeResolver eventTypeResolver) { Type eventType = eventTypeResolver.GetEventType(EventType); return((IEvent)EventData.ToObject(eventType)); }
public static List <DomainEvent> Create(List <ResolvedEvent> events, IEventTypeResolver typeResolver) { return(events.Select(a => Create(a, typeResolver)).ToList()); }
public EventStreamSubscriberSettingsBuilder WithCustomEventTypeResolver(IEventTypeResolver eventTypeResolver) { _eventTypeResolver = eventTypeResolver; return(this); }