From 909823cee4aff9f12ddceef523f062054a4af428 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 08 Dec 2018 09:15:16 +0000
Subject: [PATCH] Parses now json repsonse of borg to Pojo's.

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 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 72ee7bf..a0508c0 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
@@ -3,6 +3,8 @@
 import de.micromata.borgbutler.config.BorgRepoConfig;
 import de.micromata.borgbutler.config.Configuration;
 import de.micromata.borgbutler.config.ConfigurationHandler;
+import de.micromata.borgbutler.json.JsonUtils;
+import de.micromata.borgbutler.json.borg.RepoInfo;
 import org.apache.commons.exec.*;
 import org.apache.commons.exec.environment.EnvironmentUtils;
 import org.apache.commons.io.output.ByteArrayOutputStream;
@@ -17,10 +19,11 @@
 public class BorgCommands {
     private static Logger log = LoggerFactory.getLogger(BorgCommands.class);
 
-    public static String info(BorgRepoConfig repoConfig) {
+    public static RepoInfo info(BorgRepoConfig repoConfig) {
         try {
             CommandLine cmdLine = new CommandLine(ConfigurationHandler.getConfiguration().getBorgCommand());
             cmdLine.addArgument("info");
+            cmdLine.addArgument("--json");
             cmdLine.addArgument(repoConfig.getRepo());
             DefaultExecutor executor = new DefaultExecutor();
             //executor.setExitValue(2);
@@ -32,7 +35,10 @@
             executor.setStreamHandler(streamHandler);
             log.info("Executing '" + cmdLine.getExecutable() + " " + StringUtils.join(cmdLine.getArguments(), " ") + "'...");
             executor.execute(cmdLine, getEnvironment(repoConfig));
-            return (outputStream.toString(Charset.forName("UTF-8")));
+            String json = outputStream.toString(Charset.forName("UTF-8"));
+            RepoInfo repoInfo = JsonUtils.fromJson(RepoInfo.class, json);
+            repoInfo.setOriginalJson(json);
+            return repoInfo;
         } catch (IOException ex) {
             log.error("Error while executing borg command: " + ex.getMessage(), ex);
             return null;

--
Gitblit v1.10.0