Browse Source

Merge pull request #452 from jplag/max-number-of-comparisons

Fix the -n argument for limiting the number of exported comparisons
Timur Sağlam 4 years ago
parent
commit
e1a70d1bfa

+ 3 - 3
jplag/src/main/java/de/jplag/reporting/JsonReport.java

@@ -24,9 +24,9 @@ public class JsonReport implements Report {
     @Override
     public boolean saveReport(JPlagResult result, String path) {
         JPlagReport report = ReportObjectFactory.getReportObject(result);
-        File dir = new File(path);
-        if (!dir.exists()) {
-            if (!dir.mkdir()) {
+        File directory = new File(path);
+        if (!directory.exists()) {
+            if (!directory.mkdirs()) {
                 logger.error("Failed to create dir.");
             }
         }

+ 4 - 2
jplag/src/main/java/de/jplag/reporting/reportobject/ReportObjectFactory.java

@@ -36,7 +36,8 @@ public class ReportObjectFactory {
      * Generates an Overview DTO of a JPlagResult.
      */
     private static OverviewReport generateOverviewReport(JPlagResult result) {
-        List<JPlagComparison> comparisons = result.getComparisons();
+        int numberOfComparisons = result.getOptions().getMaximumNumberOfComparisons();
+        List<JPlagComparison> comparisons = result.getComparisons(numberOfComparisons);
         OverviewReport overviewReport = new OverviewReport();
 
         // TODO: Consider to treat entries that were checked differently from old entries with prior work.
@@ -69,7 +70,8 @@ public class ReportObjectFactory {
      */
     private static List<ComparisonReport> generateComparisonReports(JPlagResult result) {
         List<ComparisonReport> comparisons = new ArrayList<>();
-        result.getComparisons().forEach(comparison -> comparisons.add( //
+        int numberOfComparisons = result.getOptions().getMaximumNumberOfComparisons();
+        result.getComparisons(numberOfComparisons).forEach(comparison -> comparisons.add( //
                 new ComparisonReport(comparison.getFirstSubmission().getName(), //
                         comparison.getSecondSubmission().getName(), //
                         comparison.similarity(), //