/** * @param MessageHandler $messageHandler * @param Message $message * @return MessageIsNotManageable */ public static function byMessageHandler(MessageHandler $messageHandler, Message $message) { $message = sprintf("Message %s -> %s is not manageable by message handler %s: %s", $message->messageType()->toString(), $message->processingType()->typeDescription()->label(), $messageHandler->name(), $messageHandler->lastValidationError()); return new self($message); }
/** * @param MessageHandler $messageHandler */ private function syncMessageHandler(MessageHandler $messageHandler) { $additionalData = $messageHandler->additionalData(); if ($messageHandler->preferredProcessingType()) { $additionalData['preferred_type'] = $messageHandler->preferredProcessingType()->of(); } $additionalData['node_name'] = $messageHandler->processingNodeName()->toString(); $additionalData['icon'] = $messageHandler->icon(); $additionalData['icon_type'] = $messageHandler->iconType(); $additionalData['metadata'] = $messageHandler->processingMetadata()->toArray(); $additionalData['ui_metadata_riot_tag'] = $messageHandler->metadataRiotTag(); $allowedTypes = $messageHandler->supportedProcessingTypes()->areAllTypesSupported() ? MessageHandler\ProcessingTypes::SUPPORT_ALL : $messageHandler->supportedProcessingTypes()->typeList(); if ($messageHandler->isKnownInProcessingSystem()) { $this->commandBus->dispatch(ChangeConnectorConfig::ofConnector($messageHandler->processingId()->toString(), array_merge(['name' => $messageHandler->name(), 'allowed_messages' => $this->determineAllowedMessages($messageHandler), 'allowed_types' => $allowedTypes], $additionalData), $this->processingConfigLocation)); } else { $this->commandBus->dispatch(AddConnectorToConfig::fromDefinition($messageHandler->processingId()->toString(), $messageHandler->name(), $this->determineAllowedMessages($messageHandler), $allowedTypes, $this->processingConfigLocation, $additionalData)); } }