public static function testStateChange(QtiTestChangeEvent $event)
 {
     /** @var DeliveryMonitoringService $service */
     $service = ServiceManager::getServiceManager()->get(DeliveryMonitoringService::CONFIG_ID);
     $deliveryExecution = \taoDelivery_models_classes_execution_ServiceProxy::singleton()->getDeliveryExecution($event->getServiceCallId());
     $data = $service->getData($deliveryExecution, false);
     $data->setTestSession($event->getSession());
     $data->updateData([DeliveryMonitoringService::STATUS, DeliveryMonitoringService::CURRENT_ASSESSMENT_ITEM, DeliveryMonitoringService::START_TIME, DeliveryMonitoringService::END_TIME, DeliveryMonitoringService::REMAINING_TIME, DeliveryMonitoringService::EXTRA_TIME]);
     $success = $service->save($data);
     if (!$success) {
         \common_Logger::w('monitor cache for teststate could not be updated');
     }
 }
 /**
  * @param TestSessionMemento $sessionMemento
  */
 protected function triggerEventChange(TestSessionMemento $sessionMemento)
 {
     $event = new QtiTestChangeEvent($this, $sessionMemento);
     if ($event instanceof ServiceLocatorAwareInterface) {
         $event->setServiceLocator($this->getServiceLocator());
     }
     $this->getEventManager()->trigger($event);
 }