Browse Source

Improve Readability of JPlagResult#calculateDistributionFor

Nesta Bentum 4 years ago
parent
commit
fad97c6433

+ 6 - 3
jplag/src/main/java/de/jplag/JPlagResult.java

@@ -136,9 +136,12 @@ public class JPlagResult {
 
     private int[] calculateDistributionFor(List<JPlagComparison> comparisons, Function<JPlagComparison, Float> similarityExtractor) {
         int[] similarityDistribution = new int[SIMILARITY_DISTRIBUTION_SIZE];
-        comparisons.stream().map(similarityExtractor).map(percent -> percent / SIMILARITY_DISTRIBUTION_SIZE).map(Float::intValue)
-                .map(index -> index == SIMILARITY_DISTRIBUTION_SIZE ? SIMILARITY_DISTRIBUTION_SIZE - 1 : index)
-                .forEach(index -> similarityDistribution[SIMILARITY_DISTRIBUTION_SIZE - 1 - index]++);
+        for (JPlagComparison comparison : comparisons) {
+            Float similarity = similarityExtractor.apply(comparison);
+            int index = (int) (similarity / SIMILARITY_DISTRIBUTION_SIZE);
+            index = index == SIMILARITY_DISTRIBUTION_SIZE ? SIMILARITY_DISTRIBUTION_SIZE - 1 : index;
+            similarityDistribution[SIMILARITY_DISTRIBUTION_SIZE - 1 - index]++;
+        }
         return similarityDistribution;
     }
 }

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

@@ -81,7 +81,7 @@ public class ReportObjectFactory {
                 try {
                     Files.copy(file.toPath(), (new File(directory, file.getName())).toPath());
                 } catch (IOException e) {
-                    throw new RuntimeException(e);
+                    logger.error("Could not save submission file " + file, e);
                 }
             }
         }