ILIAS  trunk Revision v5.2.0beta1-34132-g2d4d73d4a0
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

Constructor & Destructor Documentation

◆ __construct()

ilAssQuestionSkillAssignmentImporter::__construct ( )

ilAssQuestionSkillAssignmentImporter constructor.

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

References $DIC, and $ilDB.

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

Member Function Documentation

◆ buildImportableAssignment()

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

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

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

Referenced by import().

242  {
243  $importableAssignment = new ilAssQuestionSkillAssignment($this->db);
244 
245  $importableAssignment->setEvalMode($assignment->getEvalMode());
246  $importableAssignment->setSkillPoints($assignment->getSkillPoints());
247 
248  $importableAssignment->setSkillBaseId($foundSkillId['skill_id']);
249  $importableAssignment->setSkillTrefId($foundSkillId['tref_id']);
250 
251  $importableAssignment->setParentObjId($this->getTargetParentObjId());
252 
253  $importableAssignment->setQuestionId($this->getImportMappingRegistry()->getMapping(
254  $this->getImportMappingComponent(),
255  'quest',
256  $assignment->getImportQuestionId()
257  ));
258 
259  $importableAssignment->initSolutionComparisonExpressionList();
260 
261  return $importableAssignment;
262  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildImportableSolutionComparisonExpression()

ilAssQuestionSkillAssignmentImporter::buildImportableSolutionComparisonExpression ( ilAssQuestionSolutionComparisonExpressionImport  $solCompExp)
protected

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

References ilAssQuestionSolutionComparisonExpressionImport\getExpression(), ilAssQuestionSolutionComparisonExpressionImport\getOrderIndex(), and ilAssQuestionSolutionComparisonExpressionImport\getPoints().

Referenced by import().

265  {
266  $importableSolCompExp = new ilAssQuestionSolutionComparisonExpression($this->db);
267 
268  $importableSolCompExp->setOrderIndex($solCompExp->getOrderIndex());
269  $importableSolCompExp->setExpression($solCompExp->getExpression());
270  $importableSolCompExp->setPoints($solCompExp->getPoints());
271 
272  return $importableSolCompExp;
273  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFailedImportAssignmentList()

ilAssQuestionSkillAssignmentImporter::getFailedImportAssignmentList ( )

◆ getImportAssignmentList()

ilAssQuestionSkillAssignmentImporter::getImportAssignmentList ( )

◆ getImportInstallationId()

ilAssQuestionSkillAssignmentImporter::getImportInstallationId ( )
Returns
int

Definition at line 104 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 136 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 120 of file class.ilAssQuestionSkillAssignmentImporter.php.

References $importMappingRegistry.

Referenced by buildImportableAssignment(), and import().

120  : ?ilImportMapping
121  {
123  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the caller graph for this function:

◆ getLocalInstallationId()

ilAssQuestionSkillAssignmentImporter::getLocalInstallationId ( )
protected

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

References $DIC.

Referenced by getSkillIdMapping().

299  : ?string
300  {
301  global $DIC; /* @var ILIAS\DI\Container $DIC */
302 
303  return $DIC->settings()->get('inst_id', 0);
304  }
$DIC
Definition: xapitoken.php:62
+ Here is the caller graph for this function:

◆ getSkillIdMapping()

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

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

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

Referenced by import().

285  {
286  if ($this->getImportInstallationId() == $this->getLocalInstallationId()) {
287  return array( 'skill_id' => $importSkillBaseId, 'tref_id' => $importSkillTrefId );
288  }
289 
291  $this->getImportInstallationId(),
292  $importSkillBaseId,
293  $importSkillTrefId
294  );
295 
296  return current($foundSkillData);
297  }
static getCommonSkillIdForImportId(int $a_source_inst_id, int $a_skill_import_id, int $a_tref_import_id=0)
+ 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 96 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 197 of file class.ilAssQuestionSkillAssignmentImporter.php.

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

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

◆ isValidSkill()

ilAssQuestionSkillAssignmentImporter::isValidSkill (   $foundSkillData)
protected

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

Referenced by import().

275  : bool
276  {
277  if (!is_array($foundSkillData) || !isset($foundSkillData['skill_id']) || !$foundSkillData['skill_id']) {
278  return false;
279  }
280 
281  return true;
282  }
+ Here is the caller graph for this function:

◆ setImportAssignmentList()

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

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

References $importAssignmentList.

160  : void
161  {
162  $this->importAssignmentList = $importAssignmentList;
163  }

◆ setImportInstallationId()

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

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

References $importInstallationId.

112  : void
113  {
114  $this->importInstallationId = $importInstallationId;
115  }

◆ setImportMappingComponent()

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

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

References $importMappingComponent.

144  : void
145  {
146  $this->importMappingComponent = $importMappingComponent;
147  }

◆ setImportMappingRegistry()

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

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

References $importMappingRegistry.

128  : void
129  {
130  $this->importMappingRegistry = $importMappingRegistry;
131  }

◆ setSuccessImportAssignmentList()

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

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

References $successImportAssignmentList.

184  : void
185  {
186  $this->successImportAssignmentList = $successImportAssignmentList;
187  }

◆ setTargetParentObjId()

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

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

References $targetParentObjId.

88  : void
89  {
90  $this->targetParentObjId = $targetParentObjId;
91  }

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: