diff --git a/src/main/java/org/olat/course/PersistingCourseImpl.java b/src/main/java/org/olat/course/PersistingCourseImpl.java index cb75118d4a5ada9d17783e6ff465dfea68174245..b1104e23f4ae752e521b8aa5803e6f05f68889b2 100644 --- a/src/main/java/org/olat/course/PersistingCourseImpl.java +++ b/src/main/java/org/olat/course/PersistingCourseImpl.java @@ -425,8 +425,13 @@ public class PersistingCourseImpl implements ICourse, OLATResourceable, Serializ if (vfsItem == null || !(vfsItem instanceof VFSLeaf)) { throw new CorruptedCourseException("Cannot resolve file: " + fileName + " course=" + toString()); } - XStream xstream = CourseXStreamAliases.getReadCourseXStream(); - return XStreamHelper.readObject(xstream, ((VFSLeaf)vfsItem).getInputStream()); + try { + XStream xstream = CourseXStreamAliases.getReadCourseXStream(); + return XStreamHelper.readObject(xstream, ((VFSLeaf)vfsItem).getInputStream()); + } catch (Exception e) { + log.error("Cannot read course tree file: " + fileName); + throw new CorruptedCourseException("Cannot resolve file: " + fileName + " course=" + toString(), e); + } } /** diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_8_2_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_8_2_0.java index f005503570d77171f993fb832b50c485d208d5dc..a567a1f56fc1631d0e2b117488f409b303ccc130 100644 --- a/src/main/java/org/olat/upgrade/OLATUpgrade_8_2_0.java +++ b/src/main/java/org/olat/upgrade/OLATUpgrade_8_2_0.java @@ -176,6 +176,8 @@ public class OLATUpgrade_8_2_0 extends OLATUpgrade { course.postImport(envMapper); } catch (CorruptedCourseException e) { log.error("Course seems corrupt: " + entry.getOlatResource().getResourceableId()); + } catch (Exception e) { + log.error("Course seems highly corrupt: " + entry.getOlatResource().getResourceableId()); } } dbInstance.intermediateCommit(); @@ -183,7 +185,7 @@ public class OLATUpgrade_8_2_0 extends OLATUpgrade { log.audit("Processed repository entries: " + entries.size()); } while(entries.size() == REPO_ENTRIES_BATCH_SIZE); - uhd.setBooleanDataValue(TASK_CONDITIONS, false); + uhd.setBooleanDataValue(TASK_CONDITIONS, true); upgradeManager.setUpgradesHistory(uhd, VERSION); } return true;