Ejemplo n.º 1
0
 /**
  * @param NodeName $nodeName
  * @param ProcessId $subProcessId
  * @param bool $succeed
  * @param ProcessingMessage $lastReceivedMessage
  * @param TaskListPosition $parentTaskListPosition
  * @throws \InvalidArgumentException
  * @return SubProcessFinished
  */
 public static function record(NodeName $nodeName, ProcessId $subProcessId, $succeed, ProcessingMessage $lastReceivedMessage, TaskListPosition $parentTaskListPosition)
 {
     if (!is_bool($succeed)) {
         throw new \InvalidArgumentException("Succeed must be a boolean");
     }
     $payload = ['processor_node_name' => $nodeName->toString(), 'parent_task_list_position' => $parentTaskListPosition->toString(), 'sub_process_id' => $subProcessId->toString(), 'succeed' => $succeed, 'last_message' => $lastReceivedMessage->toServiceBusMessage()->toArray()];
     return new self(self::MSG_NAME, $payload);
 }
Ejemplo n.º 2
0
 /**
  * @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;
 }
Ejemplo n.º 3
0
 /**
  * @param TaskListPosition $parentTaskListPosition
  * @param array $processDefinition
  * @param bool $syncLogMessages
  * @param string $target
  * @param WorkflowMessage $previousMessage
  * @throws \InvalidArgumentException
  * @return StartSubProcess
  */
 public static function at(TaskListPosition $parentTaskListPosition, array $processDefinition, $syncLogMessages, $target, WorkflowMessage $previousMessage = null)
 {
     if (!is_bool($syncLogMessages)) {
         throw new \InvalidArgumentException("Argument syncLogMessages must be of type boolean");
     }
     if (!is_string($target)) {
         throw new \InvalidArgumentException("Target must be string");
     }
     if (empty($target)) {
         throw new \InvalidArgumentException('Target must be a non empty string');
     }
     $previousMessageArrayOrNull = is_null($previousMessage) ? null : $previousMessage->toServiceBusMessage()->toArray();
     $payload = ['parent_task_list_position' => $parentTaskListPosition->toString(), 'sync_log_messages' => $syncLogMessages, 'sub_process_definition' => $processDefinition, 'previous_message' => $previousMessageArrayOrNull, 'origin' => $parentTaskListPosition->taskListId()->nodeName()->toString(), 'target' => $target];
     return new self(self::MSG_NAME, $payload);
 }
Ejemplo n.º 4
0
 public static function at(TaskListPosition $taskListPosition, array $payload = array())
 {
     $payload['taskListPosition'] = $taskListPosition->toString();
     return parent::occur($taskListPosition->taskListId()->processId()->toString(), $payload);
 }