From 07cb4a3032390625fcec9ade81c606c7c1dee5cc Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Mon, 21 Jan 2019 22:06:14 +0000
Subject: [PATCH] borg init added.

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
index fcde248..5923dc2 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
@@ -61,6 +61,31 @@
     }
 
     /**
+     * Executes borg init repository.
+     *
+     * @param repoConfig The configuration of the repo config (only repo is required).
+     * @param encryption The encryption value (repokey, repokey-blake2, none, ...).
+     * @return true, if no errors occured, otherwise false.
+     */
+    public static boolean init(BorgRepoConfig repoConfig, String encryption) {
+        BorgCommand command = new BorgCommand()
+                .setRepoConfig(repoConfig)
+                .setCommand("init")
+                //.setParams("--json") // --progress has no effect.
+                .setDescription("Init new repo '" + repoConfig.getDisplayName() + "'.");
+        JobResult<String> jobResult = getResult(command);
+        String result = jobResult != null ? jobResult.getResultObject() : null;
+        // If everything is ok, now String will be returned, result must be blank:
+        if (jobResult == null || jobResult.getStatus() != JobResult.Status.OK || StringUtils.isNotBlank(result)) {
+            log.error("Error while trying to intialize repo '" + repoConfig.getRepo() + "': " + result);
+            return false;
+        }
+        log.error("Error while trying to intialize repo '" + repoConfig.getRepo() + "': " + result);
+        return false;
+    }
+
+
+    /**
      * Executes borg info repository.
      *
      * @param repoConfig

--
Gitblit v1.10.0