diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java index 8b4769f..26cfcc9 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java @@ -1,12 +1,30 @@ package at.pcgamingfreaks.mkvaudiosubtitlechanger; import at.pcgamingfreaks.mkvaudiosubtitlechanger.config.AttributeConfig; +import at.pcgamingfreaks.mkvaudiosubtitlechanger.intimpl.MkvFileCollector; +import at.pcgamingfreaks.mkvaudiosubtitlechanger.model.FileAttribute; import at.pcgamingfreaks.mkvaudiosubtitlechanger.util.ConfigUtil; +import java.io.File; import java.util.List; +import java.util.Scanner; public class AttributeUpdaterKernel { + MkvFileCollector collector = new MkvFileCollector(); public void execute() { - List list = ConfigUtil.loadConfig(); + List configPattern = ConfigUtil.loadConfig(); + Scanner scanner = new Scanner(System.in); + System.out.println("Please enter the path to the files which should be updated: "); + List allValidPaths = collector.loadFiles(scanner.nextLine()); + + for(File file: allValidPaths) { + List attributes = collector.loadAttributes(file); + for(AttributeConfig config: configPattern) { + boolean fileIsChanged = config.processConfig(file, attributes); + if(fileIsChanged) { + break; + } + } + } } } diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/AttributeConfig.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/AttributeConfig.java index fdd8858..ad999c7 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/AttributeConfig.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/AttributeConfig.java @@ -1,7 +1,9 @@ package at.pcgamingfreaks.mkvaudiosubtitlechanger.config; +import at.pcgamingfreaks.mkvaudiosubtitlechanger.model.FileAttribute; import lombok.Getter; +import java.io.File; import java.util.List; @Getter @@ -13,4 +15,17 @@ public class AttributeConfig { this.audio = audio; this.subtitle = subtitle; } + + /** + * Processes the config lists and apply the changes if the combination matches + * @return If the current configuration matched and changes applied or not + */ + public boolean processConfig(File file, List attributes) { + // check if size is bigger or equal 2 to make sure that there is at least one audio and subtitle line + // TODO: implement empty audio or subtitle line + if(attributes.size() >= 2) { + // TODO: Update queryBuilder:updateAttributes here + } + return true; + } }