/**
  * @param ProcessId $processId
  * @param TaskListPosition $parentTaskListPosition
  * @param TaskList $taskList
  * @param array $config
  * @param bool $syncLogMessages
  * @throws \InvalidArgumentException
  * @return static
  */
 public static function asSubProcess(ProcessId $processId, TaskListPosition $parentTaskListPosition, TaskList $taskList, array $config, $syncLogMessages)
 {
     if (!is_bool($syncLogMessages)) {
         throw new \InvalidArgumentException("Argument syncLogMessages must be of type boolean");
     }
     $instance = self::occur($processId->toString(), ['config' => $config, 'parent_task_list_Position' => $parentTaskListPosition->toString(), 'task_list' => $taskList->getArrayCopy(), 'sync_log_messages' => $syncLogMessages]);
     $instance->processId = $processId;
     $instance->parentTaskListPosition = $parentTaskListPosition;
     return $instance;
 }
 /**
  * @return TaskList
  */
 public function newTaskList()
 {
     if (is_null($this->newTaskList)) {
         $this->newTaskList = TaskList::fromArray($this->payload['new_task_list']);
     }
     return $this->newTaskList;
 }
Exemple #3
0
 /**
  * @param LogMessageReceived $event
  */
 protected function whenLogMessageReceived(LogMessageReceived $event)
 {
     $taskListEntry = $this->taskList->getTaskListEntryAtPosition($event->taskListPosition());
     $sbMessage = RemoteMessage::fromArray($event->payload()['message']);
     $taskListEntry->logMessage(LogMessage::fromServiceBusMessage($sbMessage));
 }
Exemple #4
0
 /**
  * @return TaskList
  */
 protected function getTestTaskList()
 {
     $task1 = CollectData::from('crm', UserDictionary::prototype());
     $task2 = CollectData::from('online-shop', UserDictionary::prototype());
     $task3 = CollectData::from('address-book', UserDictionary::prototype());
     $processId = ProcessId::generate();
     $taskListId = TaskListId::linkWith(NodeName::defaultName(), $processId);
     return TaskList::scheduleTasks($taskListId, [$task1, $task2, $task3]);
 }