From 1ae5b1bef183231de79be8c875976227c7be8600 Mon Sep 17 00:00:00 2001 From: RatzzFatzz Date: Tue, 16 Dec 2025 00:58:57 +0100 Subject: [PATCH] Improve file loading abstraction for attribute updater --- .../impl/processors/AttributeUpdater.java | 6 +++--- .../impl/processors/CoherentAttributeUpdater.java | 4 ++++ .../impl/processors/SingleFileAttributeUpdater.java | 7 +++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/AttributeUpdater.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/AttributeUpdater.java index 6b8f0c3..f78e75a 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/AttributeUpdater.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/AttributeUpdater.java @@ -46,9 +46,7 @@ public abstract class AttributeUpdater { statistic.startTimer(); try (ProgressBar progressBar = pbBuilder().build()) { - List files = config.getCoherent() != null - ? fileProcessor.loadDirectory(config.getLibraryPath().getPath(), config.getCoherent()) - : fileProcessor.loadFiles(config.getLibraryPath().getPath()); + List files = getFiles(); progressBar.maxHint(files.size()); progressBar.refresh(); @@ -68,6 +66,8 @@ public abstract class AttributeUpdater { statistic.printResult(); } + protected abstract List getFiles(); + /** * Start of the file updating process. * This method is called by the executor and its contents are executed in parallel. diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/CoherentAttributeUpdater.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/CoherentAttributeUpdater.java index b386058..a30616c 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/CoherentAttributeUpdater.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/CoherentAttributeUpdater.java @@ -24,6 +24,10 @@ public class CoherentAttributeUpdater extends SingleFileAttributeUpdater { .setUnit(" directories", 1); } + protected List getFiles() { + return fileProcessor.loadDirectory(config.getLibraryPath().getPath(), config.getCoherent()); + } + @Override public void process(File rootDir) { if (rootDir.isFile()) { diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/SingleFileAttributeUpdater.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/SingleFileAttributeUpdater.java index 7c7fd28..dd5289d 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/SingleFileAttributeUpdater.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/processors/SingleFileAttributeUpdater.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import me.tongfei.progressbar.ProgressBarBuilder; import java.io.File; +import java.util.List; @Slf4j public class SingleFileAttributeUpdater extends AttributeUpdater { @@ -20,6 +21,12 @@ public class SingleFileAttributeUpdater extends AttributeUpdater { .setUnit(" files", 1); } + @Override + protected List getFiles() { + return fileProcessor.loadFiles(config.getLibraryPath().getPath()); + } + + @Override public void process(File file) { FileInfo fileInfo = fileProcessor.readAttributes(file);