/**
  * @inheritdoc
  */
 public function createBody(DomainMessage $domainMessage)
 {
     $this->guardSerializable($domainMessage->getMetadata());
     $this->guardSerializable($domainMessage->getPayload());
     $data = ['id' => $domainMessage->getId(), 'playhead' => $domainMessage->getPlayhead(), 'metadata' => $domainMessage->getMetadata()->serialize(), 'payload' => $domainMessage->getPayload()->serialize(), 'recorded_on' => $domainMessage->getRecordedOn()->toString()];
     return json_encode($data);
 }
 protected function applyEventCreated(EventCreated $eventCreated, DomainMessage $message)
 {
     $this->logger->debug('UDB2 event created, with url ' . $eventCreated->getUrl());
     $xml = $this->retrieveXml($eventCreated->getUrl());
     $enrichedEventCreated = EventCreatedEnrichedWithCdbXml::fromEventCreated($eventCreated, $xml, $this->cdbXmlNamespaceUri);
     $this->publish($enrichedEventCreated, $message->getMetadata());
 }
 /**
  * @param DomainMessage $domainMessage
  */
 private function setLogContextFromDomainMessage(DomainMessage $domainMessage)
 {
     $this->logContext = [];
     $metadata = $domainMessage->getMetadata()->serialize();
     if (isset($metadata['correlation_id'])) {
         $this->logContext['correlation_id'] = $metadata['correlation_id'];
     }
 }
 /**
  * @param  DomainMessage $message
  *
  * @return mixed
  */
 private static function getContext(DomainMessage $message)
 {
     $metadataArray = $message->getMetadata()->serialize();
     $context = isset($metadataArray[ContextEnricher::CONTEXT]) ? $metadataArray[ContextEnricher::CONTEXT] : null;
     return $context;
 }
 /**
  * Appends an event to the event store
  */
 private function appendEvent(DomainMessage $event)
 {
     $this->connection->table($this->table)->insert(['uuid' => (string) $event->getId(), 'playhead' => (int) $event->getPlayhead(), 'metadata' => $this->serialize($event->getMetadata()), 'payload' => $this->serialize($event->getPayload()), 'recorded_on' => $event->getRecordedOn()->toString(), 'type' => $event->getType()]);
 }
Exemplo n.º 6
0
 private function insertMessage(Connection $connection, DomainMessage $domainMessage)
 {
     $data = array('uuid' => $this->convertIdentifierToStorageValue((string) $domainMessage->getId()), 'playhead' => $domainMessage->getPlayhead(), 'metadata' => json_encode($this->metadataSerializer->serialize($domainMessage->getMetadata())), 'payload' => json_encode($this->payloadSerializer->serialize($domainMessage->getPayload())), 'recorded_on' => $domainMessage->getRecordedOn()->toString(), 'type' => $domainMessage->getType());
     $connection->insert($this->tableName, $data);
 }
 public function applyDidNumberEvent(DidNumberEvent $event, DomainMessage $domainMessage)
 {
     $this->metadata = $domainMessage->getMetadata();
 }
 /**
  * Turns a DomainMessage into array using broadway's serializers.
  *
  * @param DomainMessage $message The domain message.
  * @throws SerializationException When the serializers cannot perform.
  * @return array                  An array representation of the message.
  */
 private function convertDomainMessage(DomainMessage $message)
 {
     $metadata = $this->metadataSerializer->serialize($message->getMetadata());
     $payload = $this->payloadSerializer->serialize($message->getPayload());
     return ['uuid' => (string) $message->getId(), 'playhead' => $message->getPlayhead(), 'metadata' => json_encode($metadata), 'payload' => json_encode($payload), 'recorded_on' => $message->getRecordedOn()->toString(), 'type' => $message->getType()];
 }
 /**
  * @param DomainMessage $object
  * @return array
  */
 public function serialize(DomainMessage $object)
 {
     return ['id' => $object->getId(), 'playhead' => $object->getPlayhead(), 'metadata' => $this->metadataSerializer->serialize($object->getMetadata()), 'payload' => $this->payloadSerializer->serialize($object->getPayload()), 'recordedOn' => $object->getRecordedOn()->toString()];
 }