/**
  * @return ilAssQuestionProcessLockerDb|ilAssQuestionProcessLockerFile|ilAssQuestionProcessLockerNone
  */
 public function getLocker()
 {
     switch ($this->getLockModeSettingValue()) {
         case ilObjAssessmentFolder::ASS_PROC_LOCK_MODE_NONE:
             $locker = new ilAssQuestionProcessLockerNone();
             break;
         case ilObjAssessmentFolder::ASS_PROC_LOCK_MODE_FILE:
             require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionProcessLockFileStorage.php';
             $storage = new ilAssQuestionProcessLockFileStorage($this->getQuestionId(), $this->getUserId());
             $storage->create();
             $locker = new ilAssQuestionProcessLockerFile($storage);
             break;
         case ilObjAssessmentFolder::ASS_PROC_LOCK_MODE_DB:
             $locker = new ilAssQuestionProcessLockerDb($this->db);
             $locker->setAssessmentLogEnabled($this->isAssessmentLogEnabled());
             break;
     }
     return $locker;
 }
 private function getLockFilePath($processName)
 {
     $path = $this->lockFileStorage->getPath();
     return $path . '/' . $processName . '.lock';
 }