diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java index a4488196ba71c7c2d1c25e11e8335c101957886f..a93eafac80fbd96ce1fe9785d8fc4c3a4213d090 100644 --- a/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java +++ b/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java @@ -126,6 +126,7 @@ public class OLATUpgrade_11_0_0 extends OLATUpgrade { private static final int BATCH_SIZE = 50; private static final String ASSESSMENT_DATAS = "ASSESSMENT PROPERTY TABLE"; + private static final String EFFICIENCY_STATEMENT_DATAS = "EFFICIENCY STATEMENT TABLE"; private static final String VERSION = "OLAT_11.0.0"; private final Map<Long,Boolean> qtiEssayMap = new HashMap<>(); @@ -170,6 +171,7 @@ public class OLATUpgrade_11_0_0 extends OLATUpgrade { } boolean allOk = true; + allOk &= upgradeEfficiencyStatementTable(upgradeManager, uhd); allOk &= upgradeAssessmentPropertyTable(upgradeManager, uhd); uhd.setInstallationComplete(allOk); @@ -181,6 +183,31 @@ public class OLATUpgrade_11_0_0 extends OLATUpgrade { } return allOk; } + + private boolean upgradeEfficiencyStatementTable(UpgradeManager upgradeManager, UpgradeHistoryData uhd) { + boolean allOk = true; + if (!uhd.getBooleanDataValue(EFFICIENCY_STATEMENT_DATAS)) { + int counter = 0; + final Roles roles = new Roles(true, true, true, true, false, true, false); + final SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(); + params.setRoles(roles); + params.setResourceTypes(Collections.singletonList("CourseModule")); + + List<RepositoryEntry> courses; + do { + courses = repositoryManager.genericANDQueryWithRolesRestriction(params, counter, 50, true); + for(RepositoryEntry course:courses) { + convertUserEfficiencyStatemen(course); + } + counter += courses.size(); + log.audit("Efficiency statement data migration processed: " + courses.size() + ", total processed (" + counter + ")"); + dbInstance.commitAndCloseSession(); + } while(courses.size() == BATCH_SIZE); + uhd.setBooleanDataValue(EFFICIENCY_STATEMENT_DATAS, allOk); + upgradeManager.setUpgradesHistory(uhd, VERSION); + } + return allOk; + } private boolean upgradeAssessmentPropertyTable(UpgradeManager upgradeManager, UpgradeHistoryData uhd) { boolean allOk = true; @@ -195,7 +222,6 @@ public class OLATUpgrade_11_0_0 extends OLATUpgrade { do { courses = repositoryManager.genericANDQueryWithRolesRestriction(params, counter, 50, true); for(RepositoryEntry course:courses) { - convertUserEfficiencyStatemen(course); allOk &= processCourseAssessmentData(course); } counter += courses.size();