/** * * @param core_kernel_classes_Class $itemClass * @param oat\taoQtiItem\model\qti\Item $qtiModel * @throws common_exception_Error * @throws \common_Exception * @return core_kernel_classes_Resource */ protected function createRdfItem(core_kernel_classes_Class $itemClass, Item $qtiModel) { $itemService = taoItems_models_classes_ItemsService::singleton(); $qtiService = Service::singleton(); if (!$itemService->isItemClass($itemClass)) { throw new common_exception_Error('provided non Itemclass for ' . __FUNCTION__); } $rdfItem = $itemService->createInstance($itemClass); //set the QTI type $itemService->setItemModel($rdfItem, new core_kernel_classes_Resource(ItemModel::MODEL_URI)); //set the label $label = ''; if ($qtiModel->hasAttribute('label')) { $label = $qtiModel->getAttributeValue('label'); } if (empty($label)) { $label = $qtiModel->getAttributeValue('title'); } $rdfItem->setLabel($label); //save itemcontent if (!$qtiService->saveDataItemToRdfItem($qtiModel, $rdfItem)) { throw new \common_Exception('Unable to save item'); } return $rdfItem; }