package be.swsb.fiazard.eventstore;
import io.dropwizard.ConfiguredBundle;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
import be.swsb.fiazard.main.FiazardConfig;
public class EventStoreBundle implements ConfiguredBundle<FiazardConfig> {
private AggregateRepository aggregateRepository;
private EventStore eventStore;
@Override
public void initialize(Bootstrap<?> bootstrap) {
}
@Override
public void run(FiazardConfig configuration, Environment environment) throws Exception {
String eventStoreStream = configuration.getEventStoreStreamURL();
eventStore = new EventStoreImpl(new AtomPoster(eventStoreStream));
aggregateRepository = new AggregateRepository(eventStore);
}
public AggregateRepository getAggregateRepository() {
return aggregateRepository;
}
public EventStore getEventStore() {
return eventStore;
}
}