This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push: new 5533138a0c Refactor. Replace custom Comparators with Comparator.comparingLong(...) 5533138a0c is described below commit 5533138a0c781065d57c240270d0d6c030fc80f0 Author: Mark Thomas <ma...@apache.org> AuthorDate: Wed Sep 21 15:49:50 2022 +0100 Refactor. Replace custom Comparators with Comparator.comparingLong(...) No functional change. --- .../catalina/tribes/membership/Membership.java | 21 +--------------- java/org/apache/catalina/webresources/Cache.java | 21 +--------------- .../tomcat/websocket/server/WsWriteTimeout.java | 29 +++------------------- 3 files changed, 6 insertions(+), 65 deletions(-) diff --git a/java/org/apache/catalina/tribes/membership/Membership.java b/java/org/apache/catalina/tribes/membership/Membership.java index 234bf47b3d..6b0f0e6b62 100644 --- a/java/org/apache/catalina/tribes/membership/Membership.java +++ b/java/org/apache/catalina/tribes/membership/Membership.java @@ -16,7 +16,6 @@ */ package org.apache.catalina.tribes.membership; -import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; @@ -93,7 +92,7 @@ public class Membership implements Cloneable { * @param includeLocal - TBA */ public Membership(Member local, boolean includeLocal) { - this(local, new MemberComparator(), includeLocal); + this(local, Comparator.comparingLong(Member::getMemberAliveTime).reversed(), includeLocal); } public Membership(Member local) { @@ -290,24 +289,6 @@ public class Membership implements Cloneable { // --------------------------------------------- Inner Class - private static class MemberComparator implements Comparator<Member>, Serializable { - - private static final long serialVersionUID = 1L; - - @Override - public int compare(Member m1, Member m2) { - // Longer alive time, means sort first - long result = m2.getMemberAliveTime() - m1.getMemberAliveTime(); - if (result < 0) { - return -1; - } else if (result == 0) { - return 0; - } else { - return 1; - } - } - } - /** * Inner class that represents a member entry */ diff --git a/java/org/apache/catalina/webresources/Cache.java b/java/org/apache/catalina/webresources/Cache.java index bf762d43b3..287134e310 100644 --- a/java/org/apache/catalina/webresources/Cache.java +++ b/java/org/apache/catalina/webresources/Cache.java @@ -208,7 +208,7 @@ public class Cache { // used first. This is a background process so we can afford to take the // time to order the elements first TreeSet<CachedResource> orderedResources = - new TreeSet<>(new EvictionOrder()); + new TreeSet<>(Comparator.comparingLong(CachedResource::getNextCheck).reversed()); orderedResources.addAll(resourceCache.values()); Iterator<CachedResource> iter = orderedResources.iterator(); @@ -342,23 +342,4 @@ public class Cache { public long getSize() { return size.get() / 1024; } - - private static class EvictionOrder implements Comparator<CachedResource> { - - @Override - public int compare(CachedResource cr1, CachedResource cr2) { - long nc1 = cr1.getNextCheck(); - long nc2 = cr2.getNextCheck(); - - // Oldest resource should be first (so iterator goes from oldest to - // youngest. - if (nc1 == nc2) { - return 0; - } else if (nc1 > nc2) { - return -1; - } else { - return 1; - } - } - } } diff --git a/java/org/apache/tomcat/websocket/server/WsWriteTimeout.java b/java/org/apache/tomcat/websocket/server/WsWriteTimeout.java index 273acd2813..84e2f54417 100644 --- a/java/org/apache/tomcat/websocket/server/WsWriteTimeout.java +++ b/java/org/apache/tomcat/websocket/server/WsWriteTimeout.java @@ -32,8 +32,11 @@ import org.apache.tomcat.websocket.BackgroundProcessManager; */ public class WsWriteTimeout implements BackgroundProcess { + /** + * Note: The comparator imposes orderings that are inconsistent with equals + */ private final Set<WsRemoteEndpointImplServer> endpoints = - new ConcurrentSkipListSet<>(new EndpointComparator()); + new ConcurrentSkipListSet<>(Comparator.comparingLong(WsRemoteEndpointImplServer::getTimeoutExpiry)); private final AtomicInteger count = new AtomicInteger(0); private int backgroundProcessCount = 0; private volatile int processPeriod = 1; @@ -101,28 +104,4 @@ public class WsWriteTimeout implements BackgroundProcess { } } } - - - /** - * Note: this comparator imposes orderings that are inconsistent with equals - */ - private static class EndpointComparator implements - Comparator<WsRemoteEndpointImplServer> { - - @Override - public int compare(WsRemoteEndpointImplServer o1, - WsRemoteEndpointImplServer o2) { - - long t1 = o1.getTimeoutExpiry(); - long t2 = o2.getTimeoutExpiry(); - - if (t1 < t2) { - return -1; - } else if (t1 == t2) { - return 0; - } else { - return 1; - } - } - } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org