/** * @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'; }