/** * @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); }
/** * @param MessageHandlerId $messageHandlerId * @param string $handlerName * @param NodeName $processingNodeName * @param HandlerType $handlerType * @param DataDirection $dataDirection * @param ProcessingTypes $processingTypes * @param ProcessingMetadata $processingMetadata * @param string $metadataRiotTag * @param string $icon * @param string $iconType * @param Prototype $preferredProcessingType * @param ProcessingId $processingId * @param array $additionalData * @return MessageHandlerWasInstalled */ public static function record(MessageHandlerId $messageHandlerId, $handlerName, NodeName $processingNodeName, HandlerType $handlerType, DataDirection $dataDirection, ProcessingTypes $processingTypes, ProcessingMetadata $processingMetadata, $metadataRiotTag, $icon, $iconType, Prototype $preferredProcessingType = null, ProcessingId $processingId = null, array $additionalData = []) { $event = self::occur($messageHandlerId->toString(), ['name' => $handlerName, 'processing_node_name' => $processingNodeName->toString(), 'handler_type' => $handlerType->toString(), 'data_direction' => $dataDirection->toString(), 'supported_processing_types' => $processingTypes->toArray(), 'processing_metadata' => $processingMetadata->toArray(), 'metadata_riot_tag' => $metadataRiotTag, 'icon' => $icon, 'icon_type' => $iconType, 'preferred_processing_type' => $preferredProcessingType ? $preferredProcessingType->of() : null, 'processing_id' => $processingId ? $processingId->toString() : null, 'additional_data' => $additionalData]); $event->messageHandlerId = $messageHandlerId; $event->processingNodeName = $processingNodeName; $event->handlerType = $handlerType; $event->dataDirection = $dataDirection; $event->supportedProcessingTypes = $processingTypes; $event->processingMetadata = $processingMetadata; $event->preferredProcessingType = $preferredProcessingType; $event->processingId = $processingId; return $event; }
/** * @param NodeName $newNodeName * @param ConfigLocation $configLocation * @return ChangeNodeName */ public static function to(NodeName $newNodeName, ConfigLocation $configLocation) { return new self(__CLASS__, ['node_name' => $newNodeName->toString(), 'config_location' => $configLocation->toString()]); }
/** * @param NodeName $newNodeName * @param ConfigWriter $configWriter */ public function changeNodeName(NodeName $newNodeName, ConfigWriter $configWriter) { $oldNodeName = NodeName::fromString($this->config['processing']['node_name']); $this->config['processing']['node_name'] = $newNodeName->toString(); $oldNodeNameAsString = $oldNodeName->toString(); foreach ($this->config['processing']['channels'] as &$channelConfig) { foreach ($channelConfig['targets'] as $i => $target) { if ($target === $oldNodeNameAsString) { $channelConfig['targets'][$i] = $newNodeName->toString(); } } if (isset($channelConfig['origin']) && $channelConfig['origin'] === $oldNodeNameAsString) { $channelConfig['origin'] = $newNodeName->toString(); } if (isset($channelConfig['sender']) && $channelConfig['sender'] === $oldNodeNameAsString) { $channelConfig['sender'] = $newNodeName->toString(); } } $this->writeConfig($configWriter); $this->recordThat(NodeNameWasChanged::to($newNodeName, $oldNodeName)); }
/** * @return array */ public function getArrayCopy() { return ['target_node_name' => $this->targetNodeName->toString(), 'process_definition' => $this->processDefinition, 'sync_log_messages' => $this->syncLogMessages]; }
/** * @param NodeName $newName * @param NodeName $oldName * @return NodeNameWasChanged */ public static function to(NodeName $newName, NodeName $oldName) { return self::occur(['old_name' => $oldName->toString(), 'new_name' => $newName->toString()]); }
/** * @param NodeName $nodeName * @param WorkflowId $workflowId * @param $workflowName * @return WorkflowWasCreated */ public static function on(NodeName $nodeName, WorkflowId $workflowId, $workflowName) { return self::occur($workflowId->toString(), ['processing_node_name' => $nodeName->toString(), 'workflow_name' => $workflowName]); }