19 declare(strict_types=1);
    40         $this->stagingPoolQuestionList->setTestObjId($this->testOBJ->getId());
    41         $this->stagingPoolQuestionList->setTestId($this->testOBJ->getTestId());
    52         foreach ($sourcePoolDefinitionList as $definition) {
    54             $questionStage->mergeQuestionCollection($questions);
    57         return $questionStage;
    69         return $questionStage;
    80         return $combinationCollection->getUniqueQuestionCollection();
    86         $this->stagingPoolQuestionList->resetQuestionList();
    88         $this->stagingPoolQuestionList->setPoolId($definition->
getPoolId());
    92                 $this->stagingPoolQuestionList->addTaxonomyFilter($taxId, $nodeIds);
   102             $this->stagingPoolQuestionList->setTypeFilter($definition->
getTypeFilter());
   106         $this->stagingPoolQuestionList->loadQuestions();
   108         return $this->stagingPoolQuestionList->getQuestions();
   115         foreach ($questionIds as $questionId) {
   118             $setQuestion->setQuestionId($questionId);
   119             $setQuestion->setSourcePoolDefinitionId($definition->
getId());
   121             $setQuestionCollection->addQuestion($setQuestion);
   124         return $setQuestionCollection;
   150         foreach ($questionSet->getQuestions() as $setQuestion) {
   153             $setQuestion->setSequencePosition($position++);
   161         $nextId = $this->db->nextId(
'tst_test_rnd_qst');
   163         $this->db->insert(
'tst_test_rnd_qst', array(
   164             'test_random_question_id' => array(
'integer', $nextId),
   165             'active_fi' => array(
'integer', $testSession->
getActiveId()),
   166             'question_fi' => array(
'integer', $setQuestion->
getQuestionId()),
   168             'pass' => array(
'integer', $testSession->
getPass()),
   169             'tstamp' => array(
'integer', time()),
   183         if ($this->testOBJ->getShuffleQuestions()) {
   206                 $sourcePoolDefinitionList,
   207                 $stagingPoolQuestionList
   217             $sourcePoolDefinitionList,
   218             $stagingPoolQuestionList
 
getSrcPoolDefListRelatedQuestUniqueCollection(ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList)
 
__construct(protected ilDBInterface $db, protected ilLanguage $lng, protected ilLogger $log, protected ilObjTest $testOBJ, protected ilTestRandomQuestionSetConfig $questionSetConfig, protected ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList, protected ilTestRandomQuestionSetStagingPoolQuestionList $stagingPoolQuestionList)
 
static getInstance(ilDBInterface $db, ilLanguage $lng, ilLogger $log, ilObjTest $testOBJ, ilTestRandomQuestionSetConfig $questionSetConfig, ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList, ilTestRandomQuestionSetStagingPoolQuestionList $stagingPoolQuestionList)
 
isQuestionAmountConfigurationModePerPool()
 
getSourcePoolDefinitionId()
 
handleQuestionOrdering(ilTestRandomQuestionSetQuestionCollection $questionSet)
 
buildSetQuestionCollection(ilTestRandomQuestionSetSourcePoolDefinition $definition, $questionIds)
 
getRandomQuestionCollection($requiredAmount)
 
getQuestionIdsForSourcePoolDefinitionIds(ilTestRandomQuestionSetSourcePoolDefinition $definition)
 
hasTypeFilter(ilTestRandomQuestionSetSourcePoolDefinition $definition)
 
getSrcPoolDefRelatedQuestCollection(ilTestRandomQuestionSetSourcePoolDefinition $definition)
 
hasTaxonomyFilter(ilTestRandomQuestionSetSourcePoolDefinition $definition)
 
getSrcPoolDefListRelatedQuestCombinationCollection(ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList)
 
fetchQuestionsFromStageRandomly(ilTestRandomQuestionSetQuestionCollection $questionStage, $requiredQuestionAmount)
 
performBuild(ilTestSession $testSession)
 
storeQuestionSet(ilTestSession $testSession, $questionSet)
 
getMappedTaxonomyFilter()
get the mapped taxonomy filter conditions 
 
storeQuestion(ilTestSession $testSession, ilTestRandomQuestionSetQuestion $setQuestion)