From 5e39c0040ddde260831a5b9f73c0bbfec3738f94 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Tue, 13 Apr 2021 23:20:23 +0000
Subject: [PATCH] Docker...

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java
index ee1fb32..e6c82e9 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/ConfigurationHandler.java
@@ -20,9 +20,17 @@
     private File configFile;
     private File configBackupDir;
     private File workingDir;
+    private File butlerHomeDir;
     private Configuration configuration;
     private static Class<? extends Configuration> configClazz = Configuration.class;
 
+    public static void init(String butlerHomeDir) {
+        if (instance != null) {
+            throw new RuntimeException("ConfigurationHandler already initialized");
+        }
+        instance = new ConfigurationHandler(butlerHomeDir);
+    }
+
     public static ConfigurationHandler getInstance() {
         if (instance == null) instance = new ConfigurationHandler();
         return instance;
@@ -97,8 +105,16 @@
     }
 
     private ConfigurationHandler() {
-        File userHome = new File(System.getProperty("user.home"));
-        workingDir = new File(userHome, BUTLER_HOME_DIR);
+        this(null);
+    }
+
+    private ConfigurationHandler(String butlerHomeDir) {
+        if (butlerHomeDir != null) {
+            workingDir = new File(butlerHomeDir);
+        } else {
+            workingDir = new File(System.getProperty("user.home"), BUTLER_HOME_DIR);
+        }
+        log.info("Using directory '" + workingDir.getAbsolutePath() + "' as BorgButler's home directory.");
         if (!workingDir.exists()) {
             log.info("Creating borg-butlers working directory: " + workingDir.getAbsolutePath());
             workingDir.mkdirs();

--
Gitblit v1.10.0