ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
ilAssQuestionSkillAssignmentImporter Class Reference
+ Collaboration diagram for ilAssQuestionSkillAssignmentImporter:

Public Member Functions

 __construct ()
 ilAssQuestionSkillAssignmentImporter constructor. More...
 
 setTargetParentObjId ($targetParentObjId)
 
 getTargetParentObjId ()
 
 getImportInstallationId ()
 
 setImportInstallationId ($importInstallationId)
 
 getImportMappingRegistry ()
 
 setImportMappingRegistry ($importMappingRegistry)
 
 getImportMappingComponent ()
 
 setImportMappingComponent ($importMappingComponent)
 
 getImportAssignmentList ()
 
 setImportAssignmentList ($importAssignmentList)
 
 getFailedImportAssignmentList ()
 
 getSuccessImportAssignmentList ()
 
 setSuccessImportAssignmentList ($successImportAssignmentList)
 
 import ()
 

Protected Member Functions

 buildImportableAssignment (ilAssQuestionSkillAssignmentImport $assignment, $foundSkillId)
 
 buildImportableSolutionComparisonExpression (ilAssQuestionSolutionComparisonExpressionImport $solCompExp)
 
 isValidSkill ($foundSkillData)
 
 getSkillIdMapping ($importSkillBaseId, $importSkillTrefId)
 
 getLocalInstallationId ()
 

Protected Attributes

 $db
 
 $importInstallationId
 
 $importMappingRegistry
 
 $importMappingComponent
 
 $importAssignmentList
 
 $failedImportAssignmentList
 
 $successImportAssignmentList
 
SkillUsageService $skillUsageService
 

Private Attributes

 $targetParentObjId
 

Detailed Description

Deprecated:
12: Use ILIAS\TestQuestionPool\ExportImport\Import\SkillAssignmentsImporter instead

Definition at line 24 of file class.ilAssQuestionSkillAssignmentImporter.php.

Constructor & Destructor Documentation

◆ __construct()

ilAssQuestionSkillAssignmentImporter::__construct ( )

ilAssQuestionSkillAssignmentImporter constructor.

Definition at line 67 of file class.ilAssQuestionSkillAssignmentImporter.php.

68 {
69 global $DIC;
70 $ilDB = $DIC['ilDB'];
71 $this->db = $ilDB;
72
73 $this->targetParentObjId = null;
74 $this->importInstallationId = null;
75 $this->importMappingRegistry = null;
76 $this->importAssignmentList = null;
77 $this->failedImportAssignmentList = new ilAssQuestionSkillAssignmentImportList();
78 $this->successImportAssignmentList = new ilAssQuestionSkillAssignmentList($this->db);
79 $this->skillUsageService = $DIC->skills()->usage();
80 }
global $DIC
Definition: shib_login.php:26

References $DIC, and $ilDB.

Member Function Documentation

◆ buildImportableAssignment()

ilAssQuestionSkillAssignmentImporter::buildImportableAssignment ( ilAssQuestionSkillAssignmentImport  $assignment,
  $foundSkillId 
)
protected

Definition at line 238 of file class.ilAssQuestionSkillAssignmentImporter.php.

239 {
240 $importableAssignment = new ilAssQuestionSkillAssignment($this->db);
241
242 $importableAssignment->setEvalMode($assignment->getEvalMode());
243 $importableAssignment->setSkillPoints($assignment->getSkillPoints());
244
245 $importableAssignment->setSkillBaseId($foundSkillId['skill_id']);
246 $importableAssignment->setSkillTrefId($foundSkillId['tref_id']);
247
248 $importableAssignment->setParentObjId($this->getTargetParentObjId());
249
250 $importableAssignment->setQuestionId($this->getImportMappingRegistry()->getMapping(
252 'quest',
253 $assignment->getImportQuestionId()
254 ));
255
256 $importableAssignment->initSolutionComparisonExpressionList();
257
258 return $importableAssignment;
259 }

References ilAssQuestionSkillAssignmentImport\getEvalMode(), getImportMappingComponent(), getImportMappingRegistry(), ilAssQuestionSkillAssignmentImport\getImportQuestionId(), ilAssQuestionSkillAssignmentImport\getSkillPoints(), and getTargetParentObjId().

Referenced by import().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildImportableSolutionComparisonExpression()

ilAssQuestionSkillAssignmentImporter::buildImportableSolutionComparisonExpression ( ilAssQuestionSolutionComparisonExpressionImport  $solCompExp)
protected

◆ getFailedImportAssignmentList()

ilAssQuestionSkillAssignmentImporter::getFailedImportAssignmentList ( )

◆ getImportAssignmentList()

ilAssQuestionSkillAssignmentImporter::getImportAssignmentList ( )

◆ getImportInstallationId()

ilAssQuestionSkillAssignmentImporter::getImportInstallationId ( )
Returns
int

Definition at line 101 of file class.ilAssQuestionSkillAssignmentImporter.php.

References $importInstallationId.

Referenced by getSkillIdMapping().

+ Here is the caller graph for this function:

◆ getImportMappingComponent()

ilAssQuestionSkillAssignmentImporter::getImportMappingComponent ( )
Returns
string

Definition at line 133 of file class.ilAssQuestionSkillAssignmentImporter.php.

References $importMappingComponent.

Referenced by buildImportableAssignment().

+ Here is the caller graph for this function:

◆ getImportMappingRegistry()

ilAssQuestionSkillAssignmentImporter::getImportMappingRegistry ( )
Returns
ilImportMapping

Definition at line 117 of file class.ilAssQuestionSkillAssignmentImporter.php.

References $importMappingRegistry.

Referenced by buildImportableAssignment(), and import().

+ Here is the caller graph for this function:

◆ getLocalInstallationId()

ilAssQuestionSkillAssignmentImporter::getLocalInstallationId ( )
protected

Definition at line 296 of file class.ilAssQuestionSkillAssignmentImporter.php.

296 : ?string
297 {
298 global $DIC; /* @var ILIAS\DI\Container $DIC */
299
300 return $DIC->settings()->get('inst_id', 0);
301 }

References $DIC.

Referenced by getSkillIdMapping().

+ Here is the caller graph for this function:

◆ getSkillIdMapping()

ilAssQuestionSkillAssignmentImporter::getSkillIdMapping (   $importSkillBaseId,
  $importSkillTrefId 
)
protected

Definition at line 281 of file class.ilAssQuestionSkillAssignmentImporter.php.

282 {
283 if ($this->getImportInstallationId() == $this->getLocalInstallationId()) {
284 return [ 'skill_id' => $importSkillBaseId, 'tref_id' => $importSkillTrefId ];
285 }
286
289 $importSkillBaseId,
290 $importSkillTrefId
291 );
292
293 return current($foundSkillData);
294 }
static getCommonSkillIdForImportId(int $a_source_inst_id, int $a_skill_import_id, int $a_tref_import_id=0)

References ilBasicSkill\getCommonSkillIdForImportId(), getImportInstallationId(), and getLocalInstallationId().

Referenced by import().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSuccessImportAssignmentList()

ilAssQuestionSkillAssignmentImporter::getSuccessImportAssignmentList ( )

◆ getTargetParentObjId()

ilAssQuestionSkillAssignmentImporter::getTargetParentObjId ( )
Returns
int

Definition at line 93 of file class.ilAssQuestionSkillAssignmentImporter.php.

References $targetParentObjId.

Referenced by buildImportableAssignment(), and import().

+ Here is the caller graph for this function:

◆ import()

ilAssQuestionSkillAssignmentImporter::import ( )

Definition at line 194 of file class.ilAssQuestionSkillAssignmentImporter.php.

194 : void
195 {
196 foreach ($this->getImportAssignmentList() as $assignment) {
197 $foundSkillId = $this->getSkillIdMapping(
198 $assignment->getImportSkillBaseId(),
199 $assignment->getImportSkillTrefId()
200 );
201
202 if (!$this->isValidSkill($foundSkillId)) {
203 $this->getFailedImportAssignmentList()->addAssignment($assignment);
204 continue;
205 }
206
207 $this->getImportMappingRegistry()->addMapping(
208 'components/ILIAS/Test',
209 'skl_base_id_reverse',
210 $foundSkillId['skill_id'],
211 $assignment->getImportSkillBaseId()
212 );
213
214 $this->getImportMappingRegistry()->addMapping(
215 'components/ILIAS/Test',
216 'skl_tref_id_reverse',
217 $foundSkillId['tref_id'],
218 $assignment->getImportSkillTrefId()
219 );
220
221 $importableAssignment = $this->buildImportableAssignment($assignment, $foundSkillId);
222
223 foreach ($assignment->getImportSolutionComparisonExpressionList() as $solCompExp) {
224 $importableSolCompExp = $this->buildImportableSolutionComparisonExpression($solCompExp);
225 $importableAssignment->getSolutionComparisonExpressionList()->add($importableSolCompExp);
226 }
227
228 $importableAssignment->saveToDb();
229 $importableAssignment->saveComparisonExpressions();
230
231 // add skill usage
232 $this->skillUsageService->addUsage($this->getTargetParentObjId(), $foundSkillId['skill_id'], $foundSkillId['tref_id']);
233
234 $this->getSuccessImportAssignmentList()->addAssignment($importableAssignment);
235 }
236 }
buildImportableSolutionComparisonExpression(ilAssQuestionSolutionComparisonExpressionImport $solCompExp)
buildImportableAssignment(ilAssQuestionSkillAssignmentImport $assignment, $foundSkillId)

References buildImportableAssignment(), buildImportableSolutionComparisonExpression(), getFailedImportAssignmentList(), getImportAssignmentList(), getImportMappingRegistry(), getSkillIdMapping(), getSuccessImportAssignmentList(), getTargetParentObjId(), and isValidSkill().

+ Here is the call graph for this function:

◆ isValidSkill()

ilAssQuestionSkillAssignmentImporter::isValidSkill (   $foundSkillData)
protected

Definition at line 272 of file class.ilAssQuestionSkillAssignmentImporter.php.

272 : bool
273 {
274 if (!is_array($foundSkillData) || !isset($foundSkillData['skill_id']) || !$foundSkillData['skill_id']) {
275 return false;
276 }
277
278 return true;
279 }

Referenced by import().

+ Here is the caller graph for this function:

◆ setImportAssignmentList()

ilAssQuestionSkillAssignmentImporter::setImportAssignmentList (   $importAssignmentList)
Parameters
ilAssQuestionSkillAssignmentImportList$importAssignmentList

Definition at line 157 of file class.ilAssQuestionSkillAssignmentImporter.php.

157 : void
158 {
159 $this->importAssignmentList = $importAssignmentList;
160 }

References $importAssignmentList.

◆ setImportInstallationId()

ilAssQuestionSkillAssignmentImporter::setImportInstallationId (   $importInstallationId)
Parameters
int$installationId

Definition at line 109 of file class.ilAssQuestionSkillAssignmentImporter.php.

109 : void
110 {
111 $this->importInstallationId = $importInstallationId;
112 }

References $importInstallationId.

◆ setImportMappingComponent()

ilAssQuestionSkillAssignmentImporter::setImportMappingComponent (   $importMappingComponent)
Parameters
string$importMappingComponent

Definition at line 141 of file class.ilAssQuestionSkillAssignmentImporter.php.

141 : void
142 {
143 $this->importMappingComponent = $importMappingComponent;
144 }

References $importMappingComponent.

◆ setImportMappingRegistry()

ilAssQuestionSkillAssignmentImporter::setImportMappingRegistry (   $importMappingRegistry)
Parameters
ilImportMapping$importMappingRegistry

Definition at line 125 of file class.ilAssQuestionSkillAssignmentImporter.php.

125 : void
126 {
127 $this->importMappingRegistry = $importMappingRegistry;
128 }

References $importMappingRegistry.

◆ setSuccessImportAssignmentList()

ilAssQuestionSkillAssignmentImporter::setSuccessImportAssignmentList (   $successImportAssignmentList)
Parameters
ilAssQuestionSkillAssignmentList$successImportAssignmentList

Definition at line 181 of file class.ilAssQuestionSkillAssignmentImporter.php.

181 : void
182 {
183 $this->successImportAssignmentList = $successImportAssignmentList;
184 }

References $successImportAssignmentList.

◆ setTargetParentObjId()

ilAssQuestionSkillAssignmentImporter::setTargetParentObjId (   $targetParentObjId)
Parameters
int$targetParentObjId

Definition at line 85 of file class.ilAssQuestionSkillAssignmentImporter.php.

85 : void
86 {
87 $this->targetParentObjId = $targetParentObjId;
88 }

References $targetParentObjId.

Field Documentation

◆ $db

ilAssQuestionSkillAssignmentImporter::$db
protected

◆ $failedImportAssignmentList

ilAssQuestionSkillAssignmentImporter::$failedImportAssignmentList
protected

◆ $importAssignmentList

ilAssQuestionSkillAssignmentImporter::$importAssignmentList
protected

◆ $importInstallationId

ilAssQuestionSkillAssignmentImporter::$importInstallationId
protected

◆ $importMappingComponent

ilAssQuestionSkillAssignmentImporter::$importMappingComponent
protected

◆ $importMappingRegistry

ilAssQuestionSkillAssignmentImporter::$importMappingRegistry
protected

◆ $skillUsageService

SkillUsageService ilAssQuestionSkillAssignmentImporter::$skillUsageService
protected

◆ $successImportAssignmentList

ilAssQuestionSkillAssignmentImporter::$successImportAssignmentList
protected

◆ $targetParentObjId

ilAssQuestionSkillAssignmentImporter::$targetParentObjId
private

The documentation for this class was generated from the following file: