> */ public array $aspectProperties; /** * Callback called when an engine is added to a pipeline. * * @throws \Exception */ public function onRegistration(Pipeline $pipeline): void { if (isset($pipeline->flowElementsList['cloud'])) { return; } throw new \Exception(Constants::CLOUDREQUESTENGINE_EXCEPTION_MESSAGE); } public function processInternal(FlowData $flowData): void { if (isset($flowData->pipeline->flowElementsList['cloud']->flowElementProperties[$this->dataKey])) { // set up properties list for the element from data in the CloudRequestEngine $this->properties = $flowData->pipeline->flowElementsList['cloud']->flowElementProperties[$this->dataKey]; } $cloudData = $flowData->get('cloud')->get('cloud'); if ($cloudData) { $cloudData = json_decode($cloudData, true); $result = []; foreach ($cloudData[$this->dataKey] as $key => $value) { if (isset($cloudData[$this->dataKey][$key . 'nullreason'])) { $result[$key] = new AspectPropertyValue($cloudData[$this->dataKey][$key . 'nullreason']); } else { $result[$key] = new AspectPropertyValue(null, $value); } } $data = new AspectDataDictionary($this, $result); $flowData->setElementData($data); } } }