diff --git a/issues-processor/src/main/java/com/koval/resolver/processor/issues/IssuesProcessor.java b/issues-processor/src/main/java/com/koval/resolver/processor/issues/IssuesProcessor.java index 60cb4cb..7c71cc4 100644 --- a/issues-processor/src/main/java/com/koval/resolver/processor/issues/IssuesProcessor.java +++ b/issues-processor/src/main/java/com/koval/resolver/processor/issues/IssuesProcessor.java @@ -1,5 +1,8 @@ package com.koval.resolver.processor.issues; +import static java.util.Collections.reverseOrder; +import static java.util.Comparator.comparingInt; + import java.io.File; import java.io.IOException; import java.util.*; @@ -71,12 +74,7 @@ public void run(final Issue issue, final IssueAnalysingResult result) { } private void addEntityOrUpdateMetric(final Map map, final E entity) { - if (map.containsKey(entity)) { - final Integer oldMetricNumber = map.get(entity); - map.replace(entity, oldMetricNumber + 1); - } else { - map.put(entity, 1); - } + map.merge(entity, 1, Integer::sum); } private List> convertMapToPairList(final Map map) { @@ -102,17 +100,9 @@ private List getAttachmentMetrics( return attachmentResults; } - public List> sortUsersByRank(List> listQualifiedUsers) { - listQualifiedUsers.sort((u1, u2) -> { - if (u1.getMetric().equals(u2.getMetric())) { - return 0; - } else if (u1.getMetric() < u2.getMetric()) { - return 1; - } else { - return -1; - } - }); - return listQualifiedUsers; - } + public List> sortUsersByRank(List> listQualifiedUsers) { + listQualifiedUsers.sort(reverseOrder(comparingInt(Pair::getMetric))); + return listQualifiedUsers; + } }