diff --git a/pom.xml b/pom.xml
index 8c4c83f..fc0c54f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
MKVAudioSubtileChanger
MKVAudioSubtitleChanger
- 2.1
+ 3.0
clean package
@@ -155,12 +155,12 @@
com.fasterxml.jackson.dataformat
jackson-dataformat-yaml
- 2.13.1
+ 2.13.4
com.fasterxml.jackson.core
jackson-databind
- 2.13.2.1
+ 2.13.4
commons-cli
diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java
index ad94413..c009087 100644
--- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java
+++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java
@@ -70,7 +70,7 @@ public class AttributeUpdaterKernel {
log.info("Updated {}", file.getAbsolutePath());
} catch (IOException | RuntimeException e) {
statistic.failedChanging();
- log.warn("File couldn't be updated: '{}', Error: {}", file.getAbsoluteFile(), e.getMessage().replaceAll("\\R|\\n", "\\s"));
+ log.warn("File couldn't be updated: '{}', Error: {}", file.getAbsoluteFile(), e.getMessage().replaceAll("\\r|\\n", " "));
}
}
} else if (fileInfo.isUnableToApplyConfig()) {
diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/Config.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/Config.java
index fb8ff04..536830c 100644
--- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/Config.java
+++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/Config.java
@@ -34,7 +34,6 @@ public class Config {
private int threads;
private Pattern includePattern;
- private boolean windows;
private boolean safeMode;
private Set forcedKeywords = new HashSet<>(Arrays.asList("forced", "signs"));
@@ -60,9 +59,8 @@ public class Config {
* @return absolute path to desired application.
*/
public String getPathFor(MkvToolNix application) {
- String executable = isWindows() ? application + ".exe" : application.toString();
- return mkvToolNix.getAbsolutePath().endsWith("/") ? mkvToolNix.getAbsolutePath() + executable :
- mkvToolNix.getAbsolutePath() + "/" + executable;
+ return mkvToolNix.getAbsolutePath().endsWith("/") ? mkvToolNix.getAbsolutePath() + application :
+ mkvToolNix.getAbsolutePath() + "/" + application;
}
@Override
@@ -72,7 +70,6 @@ public class Config {
.add("formatter=" + formatter).add("\n")
.add("configPath=" + configPath).add("\n")
.add("libraryPath=" + libraryPath).add("\n")
- .add("isWindows=" + windows).add("\n")
.add("isSafeMode=" + safeMode).add("\n")
.add("forcedKeywords=" + forcedKeywords).add("\n")
.add("commentaryKeywords=" + commentaryKeywords).add("\n")
diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigLoader.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigLoader.java
index fb05960..df22e31 100644
--- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigLoader.java
+++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigLoader.java
@@ -18,12 +18,11 @@ import static at.pcgamingfreaks.mkvaudiosubtitlechanger.util.CommandLineOptionsU
public class ConfigLoader {
private static final List> VALIDATORS = List.of(
- new ConfigPathValidator(CONFIG_PATH, false, Path.of("./config.yaml").toFile()),
+ new ConfigPathValidator(CONFIG_PATH, true, Path.of("./config.yaml").toFile()),
new PathValidator(LIBRARY, true, null),
new ThreadValidator(THREADS, false, 2),
new MkvToolNixPathValidator(MKV_TOOL_NIX, true, Path.of("C:\\Program Files\\MKVToolNix").toFile()),
new BooleanValidator(SAFE_MODE, false),
- new OperatingSystemValidator(WINDOWS),
new PatternValidator(INCLUDE_PATTERN, false, Pattern.compile(".*")),
new SetValidator(FORCED_KEYWORDS, false, true),
new SetValidator(COMMENTARY_KEYWORDS, false, true),
@@ -104,13 +103,4 @@ public class ConfigLoader {
System.exit(0);
}
}
-
- private static File loadConfigPath(CommandLine cmd) {
- File configPath = new File(cmd.getOptionValue(CONFIG_PATH.prop(), "config.yaml"));
- if (configPath.isFile()) return configPath;
-
- System.out.println("invalid config path");
- System.exit(1);
- return null;
- }
}
diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/validator/OperatingSystemValidator.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/validator/OperatingSystemValidator.java
deleted file mode 100644
index 57a518c..0000000
--- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/validator/OperatingSystemValidator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package at.pcgamingfreaks.mkvaudiosubtitlechanger.config.validator;
-
-import at.pcgamingfreaks.mkvaudiosubtitlechanger.config.ValidationResult;
-import at.pcgamingfreaks.mkvaudiosubtitlechanger.model.ConfigProperty;
-import at.pcgamingfreaks.yaml.YAML;
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.lang3.StringUtils;
-
-public class OperatingSystemValidator extends BooleanValidator {
-
- public OperatingSystemValidator(ConfigProperty property) {
- super(property, false);
- }
-
- /**
- * Gather operating system from system properties.
- */
- @Override
- public ValidationResult validate(YAML yaml, CommandLine cmd) {
- System.out.printf("%s: ", property.prop());
- Boolean result = StringUtils.containsIgnoreCase(System.getProperty("os.name"), "windows");
-
- if (!isValid(result) || !setValue(result)) {
- System.out.println("invalid");
- return ValidationResult.INVALID;
- }
-
- System.out.println("ok");
- return ValidationResult.VALID;
- }
-}
diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/MkvFileProcessor.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/MkvFileProcessor.java
index 3db69c9..0457d38 100644
--- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/MkvFileProcessor.java
+++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/MkvFileProcessor.java
@@ -22,12 +22,12 @@ import static java.lang.String.format;
@Log4j2
public class MkvFileProcessor implements FileProcessor {
private final ObjectMapper mapper = new ObjectMapper();
- private final String[] forcedKeywords = new String[]{"forced", "signs"};
private static final String DISABLE_DEFAULT_TRACK = "--edit track:%s --set flag-default=0 ";
private static final String ENABLE_DEFAULT_TRACK = "--edit track:%s --set flag-default=1 ";
private static final String ENABLE_FORCED_TRACK = "--edit track:%s --set flag-forced=1 ";
+ @SuppressWarnings("unchecked")
@Override
public List loadAttributes(File file) {
Map jsonMap;
@@ -155,7 +155,7 @@ public class MkvFileProcessor implements FileProcessor {
InputStream inputstream = Runtime.getRuntime().exec(sb.toString()).getInputStream();
String output = IOUtils.toString(new InputStreamReader(inputstream));
- if (output.contains("Error")) throw new RuntimeException(output);
log.debug(output);
+ if (output.contains("Error")) throw new RuntimeException(output);
}
}
diff --git a/src/test/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigTest.java b/src/test/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigTest.java
deleted file mode 100644
index 06abc24..0000000
--- a/src/test/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package at.pcgamingfreaks.mkvaudiosubtitlechanger.config;
-
-import at.pcgamingfreaks.mkvaudiosubtitlechanger.model.MkvToolNix;
-import org.junit.jupiter.api.Test;
-
-import java.io.File;
-import java.nio.file.Path;
-
-class ConfigTest {
- private static final File TEST_MKVTOOLNIX_DIR = Path.of("src/test/resources/mkvtoolnix").toFile();
- private static final File TEST_MKVTOOLNIX_EXE_DIR = Path.of("src/test/resources/mkvtoolnix_exe").toFile();
-
- @Test
- void getPathForWindows() {
- Config.getInstance().setWindows(true);
- Config.getInstance().setMkvToolNix(TEST_MKVTOOLNIX_EXE_DIR);
-
- assert Config.getInstance().getPathFor(MkvToolNix.MKV_MERGER).endsWith(MkvToolNix.MKV_MERGER + ".exe");
- assert Config.getInstance().getPathFor(MkvToolNix.MKV_PROP_EDIT).endsWith(MkvToolNix.MKV_PROP_EDIT + ".exe");
- }
-
- @Test
- void getPathForUnix() {
- Config.getInstance().setWindows(false);
- Config.getInstance().setMkvToolNix(TEST_MKVTOOLNIX_DIR);
-
- assert Config.getInstance().getPathFor(MkvToolNix.MKV_MERGER).endsWith(MkvToolNix.MKV_MERGER.toString());
- assert Config.getInstance().getPathFor(MkvToolNix.MKV_PROP_EDIT).endsWith(MkvToolNix.MKV_PROP_EDIT.toString());
- }
-}
\ No newline at end of file