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

Kai Reinhard
05.03.2019 67dd1243073e766178dd70dd2f45aa5bc77ec529
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgQueueExecutor.java
@@ -28,11 +28,33 @@
     */
    public List<String> getRepos() {
        List<String> list = new ArrayList<>();
        list.addAll(queueMap.keySet());
        synchronized (queueMap) {
            list.addAll(queueMap.keySet());
        }
        Collections.sort(list);
        return list;
    }
    public void cancelJob(long uniqueJobNumber) {
        AbstractJob<?> job = getQueuedJobByUniqueJobNumber(uniqueJobNumber);
        if (job == null) {
            log.info("Can't cancel job #" + uniqueJobNumber + ". Not found as queued job (may-be already cancelled or finished). Nothing to do.");
            return;
        }
        job.cancel();
    }
    private AbstractJob<?> getQueuedJobByUniqueJobNumber(long uniqueJobNumber) {
        Iterator<JobQueue<String>> it = queueMap.values().iterator();
        while (it.hasNext()) {
            AbstractJob<?> job = it.next().getQueuedJobByUniqueJobNumber(uniqueJobNumber);
            if (job != null) {
                return job;
            }
        }
        return null;
    }
    /**
     * For displaying purposes.
     *
@@ -56,7 +78,9 @@
    }
    private JobQueue<String> getQueue(String repo) {
        return queueMap.get(getQueueName(repo));
        synchronized (queueMap) {
            return queueMap.get(getQueueName(repo));
        }
    }
    private JobQueue<String> ensureAndGetQueue(String repo) {