Fix crash, if config dir does not exist

This commit is contained in:
0xb00bface 2022-05-06 21:27:44 +02:00
parent 625e972853
commit 76467cb346
1 changed files with 14 additions and 5 deletions

View File

@ -90,6 +90,10 @@ public class Config {
} else {
src = new File(configDirectory, previousVersion.toString());
}
if (!src.exists()) {
// new installation
return;
}
if (!Objects.equals(previousVersion, currentVersion)) {
LOG.debug("Version update {} -> {}", previousVersion, currentVersion);
LOG.debug("Copying config from {} to {}", src, target);
@ -98,11 +102,16 @@ public class Config {
}
private Version getPreviousVersion(File configDirectory) {
Optional<Version> previousVersion = Arrays.stream(configDirectory.listFiles((dir, name) -> name.matches("\\d+\\.\\d+\\.\\d+")))
.map(File::getName)
.map(Version::of)
.max(Comparator.naturalOrder());
return previousVersion.orElse(Version.of("4.7.5"));
File[] versionDirectories = configDirectory.listFiles((dir, name) -> name.matches("\\d+\\.\\d+\\.\\d+"));
if (versionDirectories != null) {
Optional<Version> previousVersion = Arrays.stream(versionDirectories)
.map(File::getName)
.map(Version::of)
.max(Comparator.naturalOrder());
return previousVersion.orElse(Version.of("4.7.5"));
} else {
return Version.of("4.7.5");
}
}
private void load() throws IOException {