From e2ef33beb11b630dd4dc98cec035b334c63c6c2b Mon Sep 17 00:00:00 2001 From: Nesta Bentum Date: Thu, 28 Jul 2022 10:16:03 +0200 Subject: [PATCH] Improve Readability of JPlagResult#calculateDistributionFor --- jplag/src/main/java/de/jplag/JPlagResult.java | 11 +++++++---- .../reporting/reportobject/ReportObjectFactory.java | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/jplag/src/main/java/de/jplag/JPlagResult.java b/jplag/src/main/java/de/jplag/JPlagResult.java index 1e4ddc56d..aed96aa75 100644 --- a/jplag/src/main/java/de/jplag/JPlagResult.java +++ b/jplag/src/main/java/de/jplag/JPlagResult.java @@ -131,14 +131,17 @@ public String toString() { * Note: Before, comparisons with a similarity below the given threshold were also included in the similarity matrix. */ private int[] calculateSimilarityDistribution(List comparisons) { - return calculateDistributionFor(comparisons, (JPlagComparison::similarity)); + return calculateDistributionFor(comparisons, JPlagComparison::similarity); } private int[] calculateDistributionFor(List comparisons, Function 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; } } diff --git a/jplag/src/main/java/de/jplag/reporting/reportobject/ReportObjectFactory.java b/jplag/src/main/java/de/jplag/reporting/reportobject/ReportObjectFactory.java index 12bd71151..d25317c80 100644 --- a/jplag/src/main/java/de/jplag/reporting/reportobject/ReportObjectFactory.java +++ b/jplag/src/main/java/de/jplag/reporting/reportobject/ReportObjectFactory.java @@ -81,7 +81,7 @@ private static void copySubmissionFilesToReport(String path, JPlagResult result) 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); } } }