diff --git a/src/main/java/tv/mangrana/worker/FailedImportFixer.java b/src/main/java/tv/mangrana/worker/FailedImportFixer.java new file mode 100644 index 0000000..30d3519 --- /dev/null +++ b/src/main/java/tv/mangrana/worker/FailedImportFixer.java @@ -0,0 +1,22 @@ +package tv.mangrana.worker; + +import tv.mangrana.sonarr.api.schema.queue.Record; + +public class FailedImportFixer { + private final String elementTitle; + private final Record queueRecord; + + private FailedImportFixer(String elementTitle, Record queueRecord) { + this.elementTitle = elementTitle; + this.queueRecord = queueRecord; + } + + static FailedImportFixer of(String elementTitle, Record queueRecord) { + return new FailedImportFixer(elementTitle, queueRecord); + } + + void fix() { + System.out.printf("fixing: %s%n",elementTitle); + System.out.printf(">> located in: %s%n%n",queueRecord.getOutputPath()); + } +} diff --git a/src/main/java/tv/mangrana/worker/QueueFixer.java b/src/main/java/tv/mangrana/worker/QueueFixer.java index 369c96e..12334d2 100644 --- a/src/main/java/tv/mangrana/worker/QueueFixer.java +++ b/src/main/java/tv/mangrana/worker/QueueFixer.java @@ -33,8 +33,16 @@ public class QueueFixer { private void fixFailedImports(List recordsWithImportFailure) { Map recordsByTitle = new HashMap<>(); - for (var record : recordsWithImportFailure) - recordsByTitle.putIfAbsent(record.getTitle(), record); - System.out.println(recordsByTitle.keySet()); + recordsWithImportFailure.forEach(record -> + recordsByTitle.putIfAbsent(record.getTitle(), record)); + + recordsByTitle.entrySet().forEach(this::fixFailedImport); } + + private void fixFailedImport(Map.Entry recordEntry) { + FailedImportFixer + .of(recordEntry.getKey(), recordEntry.getValue()) + .fix(); + } + }