From 6b16a637f0958eefb5fb0e78340a757614c9fe29 Mon Sep 17 00:00:00 2001 From: 0xboobface <0xboobface@gmail.com> Date: Tue, 6 Nov 2018 14:32:35 +0100 Subject: [PATCH] Add JVM parameter to define the configuration directory Add a new JVM parameter (-Dctbrec.config.dir) to define the directory to save the config to / load it from. If this parameter is not set, the system default directory determined by OS.getConfigDir() is used. --- src/main/java/ctbrec/Config.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/ctbrec/Config.java b/src/main/java/ctbrec/Config.java index 4ecf0f10..de2aaf2b 100644 --- a/src/main/java/ctbrec/Config.java +++ b/src/main/java/ctbrec/Config.java @@ -29,9 +29,16 @@ public class Config { private Settings settings; private String filename; private List sites; + private File configDir; private Config(List sites) throws FileNotFoundException, IOException { this.sites = sites; + if(System.getProperty("ctbrec.config.dir") != null) { + configDir = new File(System.getProperty("ctbrec.config.dir")); + } else { + configDir = OS.getConfigDir(); + } + if(System.getProperty("ctbrec.config") != null) { filename = System.getProperty("ctbrec.config"); } else { @@ -45,7 +52,6 @@ public class Config { .add(Model.class, new ModelJsonAdapter(sites)) .build(); JsonAdapter adapter = moshi.adapter(Settings.class); - File configDir = OS.getConfigDir(); File configFile = new File(configDir, filename); LOG.debug("Loading config from {}", configFile.getAbsolutePath()); if(configFile.exists()) { @@ -86,7 +92,6 @@ public class Config { .build(); JsonAdapter adapter = moshi.adapter(Settings.class).indent(" "); String json = adapter.toJson(settings); - File configDir = OS.getConfigDir(); File configFile = new File(configDir, filename); LOG.debug("Saving config to {}", configFile.getAbsolutePath()); Files.createDirectories(configDir.toPath());