Skip to content
Snippets Groups Projects
Commit 11af4374 authored by srosse's avatar srosse
Browse files

OO-2415: detect some catastrophic errors by import and don't import questions with errors

parent 91d01d86
No related branches found
No related tags found
No related merge requests found
......@@ -322,12 +322,17 @@ public class CSVToAssessmentItemConverter {
private void build() {
if(currentItem != null) {
String question = currentItem.getItemBuilder().getQuestion();
if(!StringHelper.isHtml(question)) {
question = "<p>" + question + "</p>";
try {
String question = currentItem.getItemBuilder().getQuestion();
if(!StringHelper.isHtml(question)) {
question = "<p>" + question + "</p>";
}
currentItem.getItemBuilder().setQuestion(question);
currentItem.getItemBuilder().build();
} catch (Exception e) {
log.error("", e);
currentItem.setHasError(true);
}
currentItem.getItemBuilder().setQuestion(question);
currentItem.getItemBuilder().build();
}
}
......
......@@ -696,11 +696,16 @@ public class AssessmentTestComposerController extends MainLayoutBasicController
TreeNode sectionNode = getNearestSection(selectedNode);
String firstItemId = null;
boolean errorOnImport = false;
try {
AssessmentSection section = (AssessmentSection)sectionNode.getUserObject();
List<AssessmentItemAndMetadata> itemsAndMetadata = importPackage.getItems();
for(AssessmentItemAndMetadata itemAndMetadata:itemsAndMetadata) {
if(itemAndMetadata.isHasError()) {
errorOnImport = true;
continue;
}
AssessmentItemBuilder itemBuilder = itemAndMetadata.getItemBuilder();
AssessmentItem assessmentItem = itemBuilder.getAssessmentItem();
AssessmentItemRef itemRef = doInsert(section, assessmentItem);
......@@ -712,18 +717,23 @@ public class AssessmentTestComposerController extends MainLayoutBasicController
}
}
} catch (URISyntaxException e) {
showError("error.import.question");
errorOnImport = true;
logError("", e);
}
if(errorOnImport) {
showError("error.import.question");
}
//persist metadata
doSaveManifest();
updateTreeModel(false);
TreeNode newItemNode = menuTree.getTreeModel().getNodeById(firstItemId);
menuTree.setSelectedNode(newItemNode);
menuTree.open(newItemNode);
partEditorFactory(ureq, newItemNode);
if(firstItemId != null) {
//persist metadata
doSaveManifest();
updateTreeModel(false);
TreeNode newItemNode = menuTree.getTreeModel().getNodeById(firstItemId);
menuTree.setSelectedNode(newItemNode);
menuTree.open(newItemNode);
partEditorFactory(ureq, newItemNode);
}
}
private AssessmentItemRef doInsert(AssessmentSection section, AssessmentItem assessmentItem)
......
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