Compare results, not the bot names.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 8 Aug 2013 00:08:49 +0000 (02:08 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 8 Aug 2013 00:15:59 +0000 (02:15 +0200)
src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java

index abef80e..d3821aa 100644 (file)
@@ -351,7 +351,7 @@ public class CommandReader extends AbstractExecutionThreadService {
                 * one name pattern is preferred (and thus listed first), one pattern is
                 * disliked (and thus listed last), the rest is sorted alphabetically.
                 */
-               private static final Comparator<String> botNameComparator = new Comparator<String>() {
+               private static final Comparator<Result> botNameComparator = new Comparator<Result>() {
 
                        /** Regular expression pattern for preferred names. */
                        private final Pattern preferredNames = Pattern.compile("(?i)[^\\w]EUR?[^\\w]");
@@ -360,7 +360,9 @@ public class CommandReader extends AbstractExecutionThreadService {
                        private final Pattern dislikedNames = Pattern.compile("(?i)[^\\w]USA?[^\\w]");
 
                        @Override
-                       public int compare(String leftBotName, String rightBotName) {
+                       public int compare(Result leftResult, Result rightResult) {
+                               String leftBotName = leftResult.bot().name();
+                               String rightBotName = rightResult.bot().name();
                                /* preferred names to the front! */
                                if (preferredNames.matcher(leftBotName).find() && !preferredNames.matcher(rightBotName).find()) {
                                        return -1;
@@ -375,8 +377,7 @@ public class CommandReader extends AbstractExecutionThreadService {
                                if (dislikedNames.matcher(rightBotName).find() && !dislikedNames.matcher(leftBotName).find()) {
                                        return -1;
                                }
-                               /* rest is sorted by name. */
-                               return leftBotName.compareToIgnoreCase(rightBotName);
+                               return 0;
                        }
                };