diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 7192260..cebc9d2 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -46,7 +46,7 @@ jobs: run: mvn -B clean package -DskipTests - name: Save Final JAR - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: "JAR File" path: "target/artemis-score-stats-complete.jar" diff --git a/pom.xml b/pom.xml index b398c12..ac84b47 100644 --- a/pom.xml +++ b/pom.xml @@ -42,7 +42,7 @@ org.slf4j slf4j-simple - 2.0.9 + 2.0.10 @@ -134,7 +134,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.11.0 + 3.12.1 org.apache.maven.plugins 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 d1135c3..56d8552 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 @@ -67,10 +67,13 @@ public void run(String[] args) { courses.sort(Comparator.comparing(Course::getCourseId)); try (Scanner scanner = new Scanner(System.in)) { - - OptionDialogue courseDialogue = new OptionDialogue<>(scanner, "Please select the course:", + Course course = courses.get(0); + // only prompt if there is more than one course to select from + if (courses.size() > 1) { + OptionDialogue courseDialogue = new OptionDialogue<>(scanner, "Please select the course:", courses.stream().collect(Collectors.toMap(Course::getShortName, item -> item, (i1, i2) -> null, LinkedHashMap::new))); - Course course = courseDialogue.prompt(); + course = courseDialogue.prompt(); + } List exercises; try { diff --git a/src/main/java/edu/kit/kastel/sdq/scorestats/core/client/Artemis4JArtemisClient.java b/src/main/java/edu/kit/kastel/sdq/scorestats/core/client/Artemis4JArtemisClient.java index f551c82..cfb7e6b 100644 --- a/src/main/java/edu/kit/kastel/sdq/scorestats/core/client/Artemis4JArtemisClient.java +++ b/src/main/java/edu/kit/kastel/sdq/scorestats/core/client/Artemis4JArtemisClient.java @@ -3,6 +3,7 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -13,6 +14,7 @@ import edu.kit.kastel.sdq.artemis4j.api.artemis.assessment.Feedback; import edu.kit.kastel.sdq.artemis4j.api.artemis.assessment.Result; import edu.kit.kastel.sdq.artemis4j.api.artemis.assessment.Submission; +import edu.kit.kastel.sdq.artemis4j.api.client.ISubmissionsArtemisClient; import edu.kit.kastel.sdq.artemis4j.api.grading.IAnnotation; import edu.kit.kastel.sdq.artemis4j.client.AssessmentArtemisClient; import edu.kit.kastel.sdq.artemis4j.client.RestClientManager; @@ -26,7 +28,7 @@ /** * An {@link ArtemisClient} using artemis4j. - * + * * @author Moritz Hertler * @version 1.0 */ @@ -51,8 +53,13 @@ public List loadCourses() throws ArtemisClientException { } public Assessments loadAssessments(Exercise exercise, ExerciseConfig config) throws ArtemisClientException { + ISubmissionsArtemisClient submissionsClient = this.client.getSubmissionArtemisClient(); - List submissions = this.client.getSubmissionArtemisClient().getSubmissions(exercise); + Collection submissions = new ArrayList<>(submissionsClient.getSubmissions(exercise, 0, false)); + + if (exercise.hasSecondCorrectionRound()) { + submissions.addAll(submissionsClient.getSubmissions(exercise, 1, false)); + } AnnotationDeserializer deserializer = null; if (config != null) {