Skip to content

Commit

Permalink
Improve Readability of JPlagResult#calculateDistributionFor
Browse files Browse the repository at this point in the history
  • Loading branch information
nestabentum committed Jul 28, 2022
1 parent 6084b8f commit e2ef33b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
11 changes: 7 additions & 4 deletions jplag/src/main/java/de/jplag/JPlagResult.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<JPlagComparison> comparisons) {
return calculateDistributionFor(comparisons, (JPlagComparison::similarity));
return calculateDistributionFor(comparisons, JPlagComparison::similarity);
}

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;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
}
Expand Down

0 comments on commit e2ef33b

Please sign in to comment.