From b17d9da40788b382f1519d44634922f527d94ecb Mon Sep 17 00:00:00 2001 From: uhensler <none@none> Date: Fri, 2 Feb 2018 08:33:07 +0100 Subject: [PATCH] OO-3121: More detailed log message in the migration of question item titles --- .../org/olat/upgrade/OLATUpgrade_12_3_0.java | 38 ++++++++++++------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_12_3_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_12_3_0.java index 2db559824a3..a7ba6d015cd 100644 --- a/src/main/java/org/olat/upgrade/OLATUpgrade_12_3_0.java +++ b/src/main/java/org/olat/upgrade/OLATUpgrade_12_3_0.java @@ -176,9 +176,9 @@ public class OLATUpgrade_12_3_0 extends OLATUpgrade { log.error("Not able to migrate question title: " + item, e); } } - log.info(counter + " QPool items processed."); counter += items.size(); dbInstance.commitAndCloseSession(); + log.info(counter + " QPool items processed."); } while(items.size() == BATCH_SIZE); } @@ -197,7 +197,7 @@ public class OLATUpgrade_12_3_0 extends OLATUpgrade { item.setTitle(title); dbInstance.getCurrentEntityManager().merge(item); } else { - throw new RuntimeException("No title found for QPool item"); + log.warn("Not able to migrate question title of QPool item (no title found). dir: " + item.getDirectory() + ", " + item); } } @@ -211,26 +211,36 @@ public class OLATUpgrade_12_3_0 extends OLATUpgrade { title = getTitleQTI12(item); break; default: - log.error("Not able to migrate question title. QPool item has no valid format: " + item); + log.warn("QPool item has no valid format for title migration: " + item.getFormat() + ", " + item); } return title; } private String getTitleQTI21(QuestionItemImpl item) { - File resourceDirectory = qpoolService.getRootDirectory(item); - File resourceFile = qpoolService.getRootFile(item); - URI assessmentItemUri = resourceFile.toURI(); - - ResolvedAssessmentItem resolvedAssessmentItem = qtiService - .loadAndResolveAssessmentItem(assessmentItemUri, resourceDirectory); - - return resolvedAssessmentItem.getRootNodeLookup().getRootNodeHolder().getRootNode().getTitle(); + try { + File resourceDirectory = qpoolService.getRootDirectory(item); + File resourceFile = qpoolService.getRootFile(item); + URI assessmentItemUri = resourceFile.toURI(); + + ResolvedAssessmentItem resolvedAssessmentItem = qtiService + .loadAndResolveAssessmentItem(assessmentItemUri, resourceDirectory); + + return resolvedAssessmentItem.getRootNodeLookup().getRootNodeHolder().getRootNode().getTitle(); + } catch (NullPointerException e) { + log.warn("Cannot read files from dir: " + item.getDirectory()); + } + return null; } private String getTitleQTI12(QuestionItemImpl item) { - VFSLeaf leaf = qpoolService.getRootLeaf(item); - Item xmlItem = QTIEditHelper.readItemXml(leaf); - return xmlItem.getTitle(); + try { + VFSLeaf leaf = qpoolService.getRootLeaf(item); + Item xmlItem = QTIEditHelper.readItemXml(leaf); + return xmlItem.getTitle(); + } catch (NullPointerException e) { + log.warn("Cannot read files from dir: " + item.getDirectory()); + } + return null; } private boolean migrateDialogElements(UpgradeManager upgradeManager, UpgradeHistoryData uhd) { -- GitLab