From 7d0c7457d6e55ded9d0189dc51612c94eba5e8f7 Mon Sep 17 00:00:00 2001
From: Lucas <24826124+Luro02@users.noreply.github.com>
Date: Tue, 19 Nov 2024 13:56:35 +0100
Subject: [PATCH] Update artemis4j and skip submissions where the assessment
can't be loaded (#66)
---
pom.xml | 2 +-
.../java/edu/kit/kastel/sdq/scorestats/cli/CLI.java | 11 ++++++++++-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index f920125..e126172 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,7 @@
edu.kit.kastel.sdq
artemis4j
- 7.5.6
+ 7.5.7-SNAPSHOT
org.jcommander
diff --git a/src/main/java/edu/kit/kastel/sdq/scorestats/cli/CLI.java b/src/main/java/edu/kit/kastel/sdq/scorestats/cli/CLI.java
index a6e9408..d587d32 100644
--- a/src/main/java/edu/kit/kastel/sdq/scorestats/cli/CLI.java
+++ b/src/main/java/edu/kit/kastel/sdq/scorestats/cli/CLI.java
@@ -172,7 +172,16 @@ private Assessments loadAssessments(GradingConfig config, ProgrammingExercise ex
for (ProgrammingSubmission submission : submissions) {
String studentId = submission.getParticipantIdentifier();
- Assessment assessment = submission.openAssessment(config).orElse(null);
+ Assessment assessment = null;
+ try {
+ assessment = submission.openAssessment(config).orElse(null);
+ } catch (Exception e) {
+ // Artemis4j is not perfect and might crash while loading an assessment.
+ // If a crash occurs, the student will be skipped.
+ logger.error("Error while loading assessment for student %s, submission id: %d".formatted(studentId, submission.getId()), e);
+ continue;
+ }
+
if (assessment == null) {
skippedStudents.add(studentId);
continue;