protected function resolveDatapointMessages($messages) { $idArray = array(); foreach ($messages as $message) { try { $messageBody = new SimpleXMLElement($message['definition']); $idArray[] = $message['id']; $dataPoint = new DataPoint(); if ($message['operation'] == 'DELETE') { $result = $this->getBeaconDatapointService()->deleteDatapointByName($message['name']); if ($result > 0) { $idArray[] = $message['id']; } continue; } if ($message['operation'] == 'UPDATE') { $dataPoint = $this->getBeaconDatapointService()->getDatapointByName($message['name']); if ($dataPoint == null || !$dataPoint) { $dataPoint = new DataPoint(); } } $dataPoint->setName($message['name']); $dataPoint->setDefinition($message['definition']); $dataPoint->setDataPointType($this->getBeaconDatapointService()->getDatapointTypeByName($messageBody['type'])->getFirst()); $dataPoint->save(); } catch (Exception $exc) { echo $exc->getTraceAsString(); } } return $idArray; }