Skip to content
Snippets Groups Projects
Commit 81cc55a7 authored by srosse's avatar srosse
Browse files

OO-4742: find more metadata (especially type of question)

parent 32f246e9
No related branches found
No related tags found
No related merge requests found
...@@ -277,24 +277,19 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource { ...@@ -277,24 +277,19 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource {
private QuestionInformations loadQuestionMetadata(AssessmentItemRef itemRef, TestHolder testHolder) { private QuestionInformations loadQuestionMetadata(AssessmentItemRef itemRef, TestHolder testHolder) {
QuestionInformations infos = null; QuestionInformations infos = null;
AssessmentItem assessmentItem = testHolder.getAssessmentItem(itemRef);
ManifestMetadataBuilder metadata = testHolder.getManifestMetadataBuilder(itemRef); ManifestMetadataBuilder metadata = testHolder.getManifestMetadataBuilder(itemRef);
if(metadata == null) { if(metadata == null) {
AssessmentItem assessmentItem = testHolder.getAssessmentItem(itemRef);
if(assessmentItem != null) { if(assessmentItem != null) {
infos = new QuestionInformations(assessmentItem); infos = new QuestionInformations(assessmentItem);
} }
} else if(!StringHelper.containsNonWhitespace(metadata.getOpenOLATMetadataIdentifier())) { } else if(!StringHelper.containsNonWhitespace(metadata.getOpenOLATMetadataIdentifier())) {
AssessmentItem assessmentItem = testHolder.getAssessmentItem(itemRef); infos = new QuestionInformations(assessmentItem, metadata);
if(assessmentItem != null) {
infos = new QuestionInformations(assessmentItem, metadata);
} else {
infos = new QuestionInformations(metadata);
}
} else { } else {
String identifier = metadata.getOpenOLATMetadataIdentifier(); String identifier = metadata.getOpenOLATMetadataIdentifier();
List<QuestionItem> items = qpoolService.loadItemByIdentifier(identifier); List<QuestionItem> items = qpoolService.loadItemByIdentifier(identifier);
if(items.isEmpty()) { if(items.isEmpty()) {
infos = new QuestionInformations(metadata); infos = new QuestionInformations(assessmentItem, metadata);
} else { } else {
QuestionItem item = items.get(0); QuestionItem item = items.get(0);
String authors = getAuthors(item); String authors = getAuthors(item);
...@@ -312,7 +307,6 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource { ...@@ -312,7 +307,6 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource {
} }
} }
} }
return infos; return infos;
} }
...@@ -434,31 +428,23 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource { ...@@ -434,31 +428,23 @@ public class QuestionOriginMediaResource extends OpenXMLWorkbookResource {
masterIdentifier = item.getMasterIdentifier(); masterIdentifier = item.getMasterIdentifier();
} }
public QuestionInformations(ManifestMetadataBuilder metadata) { public QuestionInformations(AssessmentItem assessmentItem, ManifestMetadataBuilder metadata) {
identifier = metadata.getOpenOLATMetadataIdentifier();
title = metadata.getTitle();
author = null;
keywords = metadata.getGeneralKeywords();
taxonomyPath = metadata.getClassificationTaxonomy();
topic = metadata.getOpenOLATMetadataTopic();
context = metadata.getEducationContext();
type = metadata.getOpenOLATMetadataQuestionType();
masterIdentifier = metadata.getOpenOLATMetadataMasterIdentifier();
}
public QuestionInformations(AssessmentItem item, ManifestMetadataBuilder metadata) {
identifier = metadata.getOpenOLATMetadataIdentifier(); identifier = metadata.getOpenOLATMetadataIdentifier();
if(StringHelper.containsNonWhitespace(metadata.getTitle())) { if(StringHelper.containsNonWhitespace(metadata.getTitle())) {
title = metadata.getTitle(); title = metadata.getTitle();
} else { } else {
title = item.getTitle(); title = assessmentItem.getTitle();
} }
author = null; author = metadata.getOpenOLATMetadataCreator();
keywords = metadata.getGeneralKeywords(); keywords = metadata.getGeneralKeywords();
taxonomyPath = metadata.getClassificationTaxonomy(); taxonomyPath = metadata.getClassificationTaxonomy();
topic = metadata.getOpenOLATMetadataTopic(); topic = metadata.getOpenOLATMetadataTopic();
context = metadata.getEducationContext(); context = metadata.getEducationContext();
type = metadata.getOpenOLATMetadataQuestionType(); if(StringHelper.containsNonWhitespace(metadata.getOpenOLATMetadataQuestionType())) {
type = metadata.getOpenOLATMetadataQuestionType();
} else {
type = QTI21QuestionType.getType(assessmentItem).name();
}
masterIdentifier = metadata.getOpenOLATMetadataMasterIdentifier(); masterIdentifier = metadata.getOpenOLATMetadataMasterIdentifier();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment