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 9d9d0f22353f4d04513703c68194ce06137b4396..818da3c2b0ac30bc9fe102692de6af0db142b61c 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()); }