mirror of https://github.com/micromata/borgbackup-butler.git

Kai Reinhard
22.28.2018 b6f6258cab9c576586fc77a72328a08aafcbddab
Borg version.
3 files modified
39 ■■■■ changed files
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommand.java 3 ●●●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgCommands.java 19 ●●●●● patch | view | raw | blame | history
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgExecutorQueue.java 17 ●●●●● patch | view | raw | blame | history
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;
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);
    }
}
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());