From 4c924cf9c5a695ed3452f3cf1f42b4bcacfa9584 Mon Sep 17 00:00:00 2001 From: Stefan Kolb Date: Sun, 29 Apr 2018 12:25:26 +0200 Subject: [PATCH] Fix #3994 Duplicate unmodifiable list for sorting --- .../gui/exporter/ExportToClipboardAction.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/jabref/gui/exporter/ExportToClipboardAction.java b/src/main/java/org/jabref/gui/exporter/ExportToClipboardAction.java index aef5a2a827e..659bab41130 100644 --- a/src/main/java/org/jabref/gui/exporter/ExportToClipboardAction.java +++ b/src/main/java/org/jabref/gui/exporter/ExportToClipboardAction.java @@ -28,17 +28,13 @@ import org.slf4j.LoggerFactory; public class ExportToClipboardAction extends AbstractWorker { - private static final Logger LOGGER = LoggerFactory.getLogger(ExportToClipboardAction.class); private final JabRefFrame frame; - /** - * written by run() and read by update() - */ + // written by run() and read by update() private String message; - public ExportToClipboardAction(JabRefFrame frame) { this.frame = Objects.requireNonNull(frame); } @@ -55,9 +51,8 @@ public void run() { return; } - List exporters = Globals.exportFactory.getExporters(); - exporters.sort(Comparator.comparing(Exporter::getDisplayName)); - List exportFormatDisplayNames = exporters.stream().map(Exporter::getDisplayName).collect(Collectors.toList()); + List sortedExporters = Globals.exportFactory.getExporters().stream().sorted(Comparator.comparing(Exporter::getDisplayName)).collect(Collectors.toList()); + List exportFormatDisplayNames = sortedExporters.stream().map(Exporter::getDisplayName).collect(Collectors.toList()); JList list = new JList<>(exportFormatDisplayNames.toArray(new String[exportFormatDisplayNames.size()])); list.setBorder(BorderFactory.createEtchedBorder()); @@ -72,7 +67,7 @@ public void run() { return; } - Exporter exporter = exporters.get(list.getSelectedIndex()); + Exporter exporter = sortedExporters.get(list.getSelectedIndex()); // Set the global variable for this database's file directory before exporting, // so formatters can resolve linked files correctly.