public static function record(TaskId $taskId, ProcessingMetadata $metadata) { $event = self::occur($taskId->toString(), ['task_metadata' => $metadata->toArray()]); $event->taskId = $taskId; $event->taskMetadata = $metadata; return $event; }
/** * @param TaskId $taskId * @param TaskType $taskType * @param MessageHandler $messageHandler * @param Prototype $processingType * @param ProcessingMetadata $metadata * @return TaskWasSetUp */ public static function with(TaskId $taskId, TaskType $taskType, MessageHandler $messageHandler, Prototype $processingType, ProcessingMetadata $metadata) { $event = self::occur($taskId->toString(), ['task_type' => $taskType->toString(), 'message_handler_id' => $messageHandler->messageHandlerId()->toString(), 'processing_type' => $processingType->of(), 'task_metadata' => $metadata->toArray()]); $event->taskId = $taskId; $event->taskType = $taskType; $event->messageHandlerId = $messageHandler->messageHandlerId(); $event->processingType = $processingType; $event->taskMetadata = $metadata; return $event; }
/** * @param TaskId $taskId */ private function insertTaskIfDataIsComplete(TaskId $taskId) { if (isset($this->tasksEvents[$taskId->toString()]) && count($this->tasksEvents[$taskId->toString()]) >= 2) { $taskWasSetUp = null; $taskWasAddedToProcess = null; foreach ($this->tasksEvents[$taskId->toString()] as $event) { if ($event instanceof TaskWasSetUp) { $taskWasSetUp = $event; continue; } if ($event instanceof TaskWasAddedToProcess) { $taskWasAddedToProcess = $event; continue; } } if (!is_null($taskWasSetUp) && !is_null($taskWasAddedToProcess)) { $this->connection->insert(Tables::TASK, ['id' => $taskWasSetUp->taskId()->toString(), 'type' => $taskWasSetUp->taskType()->toString(), 'processing_type' => $taskWasSetUp->processingType()->of(), 'metadata' => json_encode($taskWasSetUp->taskMetadata()->toArray()), 'workflow_id' => $taskWasAddedToProcess->workflowId()->toString(), 'process_id' => $taskWasAddedToProcess->processId()->toString(), 'message_handler_id' => $taskWasSetUp->messageHandlerId()]); } unset($this->tasksEvents[$taskId->toString()]); } }
/** * @return string representation of the unique identifier of the aggregate root */ protected function aggregateId() { return $this->id->toString(); }
/** * @param TaskId $other * @return bool */ public function equals(TaskId $other) { return $this->toString() === $other->toString(); }
/** * @param TaskId $taskId * @return TaskNotFound */ public static function withId(TaskId $taskId) { return new self(sprintf('Task with id %s could not be found', $taskId->toString())); }
/** * @param TaskId $taskId * @return Task */ public function get(TaskId $taskId) { return $this->getAggregateRoot($taskId->toString()); }