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;
 }