コード例 #1
0
 /**
  * @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;
 }
コード例 #2
0
 /**
  * @param Message $message
  * @return bool
  */
 public function canHandleMessage(Message $message)
 {
     $this->lastValidationError = null;
     if (!$this->canHandleMessageType($message->messageType())) {
         $this->lastValidationError = sprintf("Message type %s is not supported.", $message->messageType());
         return false;
     }
     if ($message->processingMetadata()->shouldCollectionBeSplitIntoChunks()) {
         if (!$this->processingMetadata->canHandleChunks()) {
             $this->lastValidationError = "Unable to handle chunks.";
             return false;
         }
     }
     if (!$this->supportedProcessingTypes->isSupported($message->processingType())) {
         $this->lastValidationError = sprintf("Processing type %s is not supported. Supported types are: %s", $message->processingType()->of(), implode(", ", $this->supportedProcessingTypes->toArray()['processing_types']));
         return false;
     }
     return true;
 }