public static function labelChange(MetadataModified $event)
 {
     $resource = $event->getResource();
     $service = ServiceManager::getServiceManager()->get(DeliveryMonitoringService::CONFIG_ID);
     if ($resource->hasType(new \core_kernel_classes_Class(CLASS_COMPILEDDELIVERY)) && RDFS_LABEL === $event->getMetadataUri()) {
         $deliveryExecutionsData = $service->find([DeliveryMonitoringService::DELIVERY_ID => $resource->getUri()], []);
         foreach ($deliveryExecutionsData as $data) {
             $data->updateData([DeliveryMonitoringService::DELIVERY_NAME]);
             $success = $service->save($data);
             if (!$success) {
                 \common_Logger::w('monitor cache for delivery ' . $data[DeliveryMonitoringService::DELIVERY_EXECUTION_ID] . ' could not be updated. Label has not been changed');
             }
         }
     }
 }
 public static function propertyChange(MetadataModified $event)
 {
     $resource = $event->getResource();
     $service = ServiceManager::getServiceManager()->get(DeliveryMonitoringService::CONFIG_ID);
     $tracked = array_merge([PROPERTY_USER_FIRSTNAME, PROPERTY_USER_LASTNAME], array_map(function ($field) {
         return $field['property']->getUri();
     }, DeliveryHelper::getExtraFieldsProperties()));
     if (in_array($event->getMetadataUri(), $tracked) && $resource->hasType(new \core_kernel_classes_Class(TAO_CLASS_SUBJECT))) {
         $deliveryExecutionsData = $service->find([DeliveryMonitoringService::TEST_TAKER => $resource->getUri()], []);
         foreach ($deliveryExecutionsData as $data) {
             $data->updateData([DeliveryMonitoringService::TEST_TAKER, DeliveryMonitoringService::TEST_TAKER_FIRST_NAME, DeliveryMonitoringService::TEST_TAKER_LAST_NAME]);
             $success = $service->save($data);
             if (!$success) {
                 \common_Logger::w('monitor cache for delivery ' . $data[DeliveryMonitoringService::DELIVERY_EXECUTION_ID] . ' could not be updated. TestTaker data has not been changed');
             }
         }
     }
 }