From a6d2502ebbe620d5348a7e6ba7a1d7ac935d79f6 Mon Sep 17 00:00:00 2001 From: Andreas Svanberg <andreass@dsv.su.se> Date: Fri, 3 May 2024 15:11:13 +0200 Subject: [PATCH] 3381 Fix NPE when supervisors fill in individual criteria before final thesis is uploaded --- .../su/dsv/scipro/grading/SendToExaminer.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/view/src/main/java/se/su/dsv/scipro/grading/SendToExaminer.java b/view/src/main/java/se/su/dsv/scipro/grading/SendToExaminer.java index 3ccf7680a8..020b225639 100644 --- a/view/src/main/java/se/su/dsv/scipro/grading/SendToExaminer.java +++ b/view/src/main/java/se/su/dsv/scipro/grading/SendToExaminer.java @@ -264,11 +264,20 @@ public class SendToExaminer extends GenericPanel<Project> { .map(instant -> instant.atZone(ZoneId.systemDefault())) .map(ZonedDateTime::toLocalDate); - if (seminarDate.isPresent() && seminarDate.get().isAfter(finalThesis.getUploadDate())) { - return seminarDate.get(); - } - else { + boolean hasFinalThesis = finalThesis != null; + boolean hasSeminarDate = seminarDate.isPresent(); + if (hasFinalThesis && hasSeminarDate) { + if (finalThesis.getUploadDate().isAfter(seminarDate.get())) { + return finalThesis.getUploadDate(); + } else { + return seminarDate.get(); + } + } else if (hasFinalThesis) { return finalThesis.getUploadDate(); + } else if (hasSeminarDate) { + return seminarDate.get(); + } else { + return null; } }