/** * @param array $parameters */ public function replay($parameters = []) { $criteria = Criteria::create(); if (isset($parameters['types'])) { $criteria = $criteria->withEventTypes($parameters['types']); } if (isset($parameters['id'])) { $criteria = $criteria->withAggregateRootIds($parameters['id']); } $visitor = new CallableEventVisitor(function ($event) { $this->addEvent($event); }); $this->eventManager->visitEvents($criteria, $visitor); $this->publishEvents(); }
protected function visitEvents(Criteria $criteria = null) { $eventVisitor = new RecordingEventVisitor(); $this->eventStore->visitEvents($criteria, $eventVisitor); return $eventVisitor->getVisitedEvents(); }