Only store the failed downloads.
[xudocci.git] / src / main / java / net / pterodactylus / xdcc / ui / stdin / FailedDownloadsCommand.java
index 929c2f3..7a4869b 100644 (file)
@@ -29,16 +29,16 @@ import java.util.List;
 import net.pterodactylus.xdcc.data.Download;
 
 /**
- * TODO
+ * Lists all failed downloads.
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
 public class FailedDownloadsCommand implements Command {
 
-       private final DownloadFailures downloadFailures;
+       private final Collection<Download> failedDownloads;
 
-       public FailedDownloadsCommand(DownloadFailures downloadFailures) {
-               this.downloadFailures = downloadFailures;
+       public FailedDownloadsCommand(Collection<Download> failedDownloads) {
+               this.failedDownloads = failedDownloads;
        }
 
        @Override
@@ -54,15 +54,12 @@ public class FailedDownloadsCommand implements Command {
        @Override
        public State execute(State state, List<String> parameters, Writer outputWriter) throws IOException {
                int downloadIndex = 0;
-               List<Download> failedDownloads = new ArrayList<>();
-               for (DownloadFailure downloadFailure : downloadFailures) {
-                       Download download = downloadFailure.getDownload();
-                       failedDownloads.add(download);
+               for (Download download : failedDownloads) {
                        outputWriter.write(format("[%d] %s from %s\n", downloadIndex, download.filename(), download.bot().name()));
                        downloadIndex++;
                }
                outputWriter.write("End of failed downloads.\n");
-               return state.setLastFailedDownloads(failedDownloads);
+               return state.setLastFailedDownloads(new ArrayList<>(failedDownloads));
        }
 
 }