Browse Source

Move filterValidSubmissions() into SubmissionSet.

Alberth 5 years ago
parent
commit
ceea4fdcba

+ 1 - 6
jplag/src/main/java/de/jplag/JPlag.java

@@ -15,7 +15,6 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Optional;
-import java.util.stream.Collectors;
 
 import de.jplag.options.JPlagOptions;
 import de.jplag.options.LanguageOption;
@@ -74,7 +73,7 @@ public class JPlag implements Program {
         // 2. Parse and validate submissions:
         SubmissionSet submissionSet = findSubmissions(rootDir);
         parseAllSubmissions(submissionSet);
-        submissionSet.setSubmissions(filterValidSubmissions(submissionSet.getSubmissions()));
+        submissionSet.filterValidSubmissions();
 
         int submCount = submissionSet.numberOfSubmissions();
         if (submCount < 2) {
@@ -178,10 +177,6 @@ public class JPlag implements Program {
         }
     }
 
-    private List<Submission> filterValidSubmissions(List<Submission> submissions) {
-        return submissions.stream().filter(submission -> !submission.hasErrors()).collect(Collectors.toCollection(ArrayList::new));
-    }
-
     /**
      * Find all submissions in the given root directory.
      */

+ 6 - 9
jplag/src/main/java/de/jplag/SubmissionSet.java

@@ -2,8 +2,10 @@ package de.jplag;
 
 import static java.util.Collections.emptyList;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * Collection of submissions and their basecode if it exists.
@@ -24,7 +26,7 @@ public class SubmissionSet {
      * @param baseCodeSubmission Base code submission if it exists.
      */
     public SubmissionSet(List<Submission> submissions, Optional<Submission> baseCodeSubmission) {
-        setSubmissions(submissions);
+        this.submissions = submissions;
         this.baseCodeSubmission = baseCodeSubmission;
     }
 
@@ -64,14 +66,9 @@ public class SubmissionSet {
     }
 
     /**
-     * Give the submissions to the set.
-     * @param submissions New submissions to store.
+     * Remove invalid submissions from the set.
      */
-    public void setSubmissions(List<Submission> submissions) {
-        if (submissions == null) {
-            this.submissions = emptyList();
-        } else {
-            this.submissions = submissions;
-        }
+    public void filterValidSubmissions() {
+        submissions = submissions.stream().filter(submission -> !submission.hasErrors()).collect(Collectors.toCollection(ArrayList::new));
     }
 }