From b6f6258cab9c576586fc77a72328a08aafcbddab Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Fri, 21 Dec 2018 23:28:42 +0000
Subject: [PATCH] Borg version.
---
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommand.java | 3 +++
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgExecutorQueue.java | 17 +++++++++++------
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java | 19 ++++++++++++++++++-
3 files changed, 32 insertions(+), 7 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommand.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommand.java
index 3f24fd9..ae0c148 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommand.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommand.java
@@ -92,6 +92,9 @@
String getRepoArchive() {
if (archive == null) {
+ if (repoConfig == null) {
+ return null;
+ }
return repoConfig.getRepo();
}
return repoConfig.getRepo() + "::" + archive;
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 af543d1..3599d83 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java
@@ -27,6 +27,24 @@
private static Logger log = LoggerFactory.getLogger(BorgCommands.class);
/**
+ * Executes borg --version
+ *
+ * @return version string.
+ */
+ public static String version() {
+ BorgCommand command = new BorgCommand()
+ .setParams("--version")
+ .setDescription("Getting borg version.");
+ execute(command);
+ if (command.getResultStatus() != BorgCommand.ResultStatus.OK) {
+ return null;
+ }
+ String version = command.getResponse();
+ log.info("Borg version: " + version);
+ return version;
+ }
+
+ /**
* Executes borg info repository.
*
* @param repoConfig
@@ -199,7 +217,6 @@
private static void execute(BorgCommand command) {
Validate.notNull(command);
- Validate.notNull(command.getRepoConfig());
BorgExecutorQueue.getQueue(command.getRepoConfig()).execute(command);
}
}
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgExecutorQueue.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgExecutorQueue.java
index 5740743..81124d7 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgExecutorQueue.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgExecutorQueue.java
@@ -29,20 +29,21 @@
public static BorgExecutorQueue getQueue(BorgRepoConfig config) {
synchronized (queueMap) {
- BorgExecutorQueue queue = queueMap.get(config.getRepo());
+ String queueName = config != null ? config.getRepo() : "--NO_REPO--";
+ BorgExecutorQueue queue = queueMap.get(queueName);
if (queue == null) {
queue = new BorgExecutorQueue();
- queueMap.put(config.getRepo(), queue);
+ queueMap.put(queueName, queue);
}
return queue;
}
}
- private ConcurrentLinkedQueue<BorgCommand> commandQueue = new ConcurrentLinkedQueue<>();
+ //private ConcurrentLinkedQueue<BorgCommand> commandQueue = new ConcurrentLinkedQueue<>();
public void execute(BorgCommand command) {
synchronized (this) {
- commandQueue.add(command);
+ //commandQueue.add(command);
_execute(command);
}
/*
@@ -65,7 +66,9 @@
cmdLine.addArgument(param);
}
}
- cmdLine.addArgument(command.getRepoArchive());
+ if (command.getRepoArchive() != null) {
+ cmdLine.addArgument(command.getRepoArchive());
+ }
if (command.getArgs() != null) {
for (String arg : command.getArgs()) {
if (arg != null)
@@ -103,7 +106,9 @@
private Map<String, String> getEnvironment(BorgRepoConfig repoConfig) throws IOException {
- Configuration config = ConfigurationHandler.getConfiguration();
+ if (repoConfig == null) {
+ return null;
+ }
Map<String, String> env = EnvironmentUtils.getProcEnvironment();
addEnvironmentVariable(env, "BORG_REPO", repoConfig.getRepo());
addEnvironmentVariable(env, "BORG_RSH", repoConfig.getRsh());
--
Gitblit v1.10.0