public function onDescriptionChangedThird(EventMessage $message) { $metaData = $message->metaData(); $metaData->set('third', true); $domainEvent = $message->payload(); $this->description = $domainEvent->description(); }
/** * {@inheritdoc} */ public function appendEvent(EventMessage $eventMessage) { $id = $eventMessage->aggregateId()->toString(); $type = $eventMessage->aggregateType()->toString(); if (!isset($this->streamData[$type])) { $this->streamData[$type] = []; } if (!isset($this->streamData[$type][$id])) { $this->streamData[$type][$id] = new StreamData(); } $version = $eventMessage->sequence(); if ($version === 0) { $expected = null; } else { $expected = $version - 1; } if ($this->streamData[$type][$id]->getVersion() !== $expected) { $found = $this->streamData[$type][$id]->getVersion(); $message = sprintf('Expected v%s; found v%s in stream [%s]{%s}', $expected, $found, $type, $id); throw ConcurrencyException::create($message); } $event = new StoredEvent($eventMessage); $this->streamData[$type][$id]->addEvent($event); $this->streamData[$type][$id]->setVersion($version); }
public function onUserRegistered(EventMessage $message) { /** @var UserRegisteredEvent $event */ $event = $message->payload(); $email = $event->email(); $this->users[$email] = $event->toArray(); }
/** * {@inheritdoc} */ public function dispatch(EventMessage $message) { $eventType = ClassName::underscore((string) $message->payloadType()); foreach ($this->getHandlers($eventType) as $handler) { call_user_func($handler, $message); } foreach ($this->getHandlers(Subscriber::ALL_EVENTS) as $handler) { call_user_func($handler, $message); } }
/** * {@inheritdoc} */ public function dispatch(Event $event) { $message = EventMessage::create($event); $eventType = ClassName::underscore($event); foreach ($this->getHandlers($eventType) as $handler) { call_user_func($handler, $message); } foreach ($this->getHandlers(EventSubscriber::ALL_EVENTS) as $handler) { call_user_func($handler, $message); } }
/** * Constructs StoredEvent * * @param EventMessage $message The event message */ public function __construct(EventMessage $message) { $this->aggregateId = $message->aggregateId()->toString(); $this->aggregateIdType = Type::create($message->aggregateId())->toString(); $this->aggregateType = $message->aggregateType()->toString(); $this->messageId = $message->messageId()->toString(); $this->timestamp = $message->timestamp()->toString(); $this->payload = serialize($message->payload()); $this->payloadType = $message->payloadType()->toString(); $this->metaData = serialize($message->metaData()); $this->sequence = $message->sequence(); }
/** * {@inheritdoc} */ public function dispatch(EventMessage $message) { $this->lazyLoad(ClassName::underscore((string) $message->payloadType())); return parent::dispatch($message); }
public function onAllEvents(EventMessage $message) { $this->logs[] = $message->toString(); }
public function test_that_hash_value_returns_expected_value() { $this->assertSame($this->message->toString(), $this->message->hashValue()); }
/** * Logs the event message * * @param EventMessage $message The event message * * @return void */ public function logEvent(EventMessage $message) { $name = $message->payloadType()->toString(); $this->logger->info(sprintf('Event dispatched {%s}', $name), ['message' => $message->toString()]); }