From 139941d5ee6d9a336738554d58e94c579db20406 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Fri, 31 Jul 2020 15:50:58 +0200 Subject: [PATCH] OO-4830: on the fly loading of missing graders --- .../olat/modules/grading/manager/GradingServiceImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/olat/modules/grading/manager/GradingServiceImpl.java b/src/main/java/org/olat/modules/grading/manager/GradingServiceImpl.java index 9d9d0f22353..818da3c2b0a 100644 --- a/src/main/java/org/olat/modules/grading/manager/GradingServiceImpl.java +++ b/src/main/java/org/olat/modules/grading/manager/GradingServiceImpl.java @@ -36,6 +36,7 @@ import java.util.function.Function; import java.util.stream.Collectors; import org.apache.logging.log4j.Logger; +import org.olat.basesecurity.BaseSecurity; import org.olat.basesecurity.IdentityRef; import org.olat.commons.calendar.CalendarUtils; import org.olat.core.commons.persistence.DB; @@ -119,6 +120,8 @@ public class GradingServiceImpl implements GradingService, UserDataDeletable, Re @Autowired private MailManager mailManager; @Autowired + private BaseSecurity securityManager; + @Autowired private GradingModule gradingModule; @Autowired private TaxonomyModule taxonomyModule; @@ -306,7 +309,11 @@ public class GradingServiceImpl implements GradingService, UserDataDeletable, Re } for(IdentityTimeRecordStatistics record:records) { - GraderWithStatistics statistics = identityToStatistics.get(record.getKey()); + Long graderIdentityKey = record.getKey(); + GraderWithStatistics statistics = identityToStatistics.computeIfAbsent(graderIdentityKey, key -> { + Identity grader = securityManager.loadIdentityByKey(graderIdentityKey); + return new GraderWithStatistics(grader, GraderStatistics.empty(graderIdentityKey)); + }); statistics.addRecordedTimeInSeconds(record.getTime()); statistics.addRecordedMetadataTimeInSeconds(record.getMetadataTime()); } -- GitLab