From a4fc24b20d685320e34c71913a20bcfc056ce484 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Mon, 17 Dec 2018 22:59:31 +0000
Subject: [PATCH] Handling of recreating files and directories works now fine (opens a file dialog with the restored items).
---
borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
index cc85168..8aca808 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/config/Configuration.java
@@ -1,13 +1,23 @@
package de.micromata.borgbutler.config;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
+import de.micromata.borgbutler.BorgCommands;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class Configuration {
+ private Logger log = LoggerFactory.getLogger(Configuration.class);
+ /**
+ * Default dir name for restoring archives.
+ */
+ private static final String RESTORE_DIRNAME = "restore";
@Getter
private String borgCommand = "borg";
/**
@@ -17,6 +27,15 @@
@JsonProperty("cache_archive_content_max_disc_size_mb")
private int cacheArchiveContentMaxDiscSizeMB = 100;
+ /**
+ * Default is restore inside BorgButler's home dir (~/.borgbutler/restore).
+ */
+ @Getter
+ @JsonProperty("restore_dir")
+ private String restoreDirPath;
+ @JsonIgnore
+ private File restoreHomeDir;
+
@Getter
@JsonProperty("repo-configs")
private List<BorgRepoConfig> repoConfigs = new ArrayList<>();
@@ -36,4 +55,18 @@
}
return null;
}
+
+ public File getRestoreHomeDir() {
+ if (restoreHomeDir == null) {
+ if (StringUtils.isNotBlank(restoreDirPath)) {
+ restoreHomeDir = new File(restoreDirPath);
+ } else {
+ restoreHomeDir = new File(ConfigurationHandler.getInstance().getWorkingDir(), RESTORE_DIRNAME);
+ }
+ if (!restoreHomeDir.exists()) {
+ log.info("Creating dir '" + restoreHomeDir.getAbsolutePath() + "' for restoring backup files and directories.");
+ }
+ }
+ return restoreHomeDir;
+ }
}
--
Gitblit v1.10.0