From 6e406f0dfe52339412b27c2b66c751a98473780f Mon Sep 17 00:00:00 2001 From: Ludy87 Date: Sun, 10 Aug 2025 18:28:02 +0200 Subject: [PATCH 1/2] Update ConfigInitializer.java --- .../configuration/ConfigInitializer.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/app/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java b/app/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java index 50090ee51..172332593 100644 --- a/app/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java +++ b/app/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java @@ -26,7 +26,25 @@ public class ConfigInitializer { public void ensureConfigExists() throws IOException, URISyntaxException { // 1) If settings file doesn't exist, create from template Path destPath = Paths.get(InstallationPathConfig.getSettingsPath()); - if (Files.notExists(destPath)) { + + boolean settingsFileExists = Files.exists(destPath); + + long lineCount = settingsFileExists ? Files.lines(destPath).count() : 0; + + log.info("Current settings file line count: {}", lineCount); + + if (!settingsFileExists || lineCount < 31) { + if (settingsFileExists) { + // move settings.yml to settings.yml.{timestamp}.bak + Path backupPath = + Paths.get( + InstallationPathConfig.getSettingsPath() + + "." + + System.currentTimeMillis() + + ".bak"); + Files.move(destPath, backupPath, StandardCopyOption.REPLACE_EXISTING); + log.info("Moved existing settings file to backup: {}", backupPath); + } Files.createDirectories(destPath.getParent()); try (InputStream in = getClass().getClassLoader().getResourceAsStream("settings.yml.template")) { From f43da783f6a088d687eae9250527c5262d37f44a Mon Sep 17 00:00:00 2001 From: Ludy87 Date: Sun, 10 Aug 2025 18:39:03 +0200 Subject: [PATCH 2/2] Update ConfigInitializer.java --- .../software/common/configuration/ConfigInitializer.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java b/app/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java index 172332593..54e42504c 100644 --- a/app/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java +++ b/app/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java @@ -23,17 +23,19 @@ import stirling.software.common.util.YamlHelper; @Slf4j public class ConfigInitializer { + private static final int MIN_SETTINGS_FILE_LINES = 31; + public void ensureConfigExists() throws IOException, URISyntaxException { // 1) If settings file doesn't exist, create from template Path destPath = Paths.get(InstallationPathConfig.getSettingsPath()); boolean settingsFileExists = Files.exists(destPath); - long lineCount = settingsFileExists ? Files.lines(destPath).count() : 0; + long lineCount = settingsFileExists ? Files.readAllLines(destPath).size() : 0; log.info("Current settings file line count: {}", lineCount); - if (!settingsFileExists || lineCount < 31) { + if (!settingsFileExists || lineCount < MIN_SETTINGS_FILE_LINES) { if (settingsFileExists) { // move settings.yml to settings.yml.{timestamp}.bak Path backupPath =