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
@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));
}
}