From bf7101f797e8f2a6c3b966762afb1ec063c4428e Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 05 Jan 2019 23:03:45 +0000
Subject: [PATCH] Job monitor: Cancellation of jobs modified.

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

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgQueueExecutor.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgQueueExecutor.java
index 5e440fe..5678da2 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgQueueExecutor.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/BorgQueueExecutor.java
@@ -36,25 +36,24 @@
     }
 
     public void cancelJob(long uniqueJobNumber) {
-        AbstractJob<?> job = getQueuedJobByUniqueJobNumber(uniqueJobNumber);
+        AbstractJob<?> job = null;
+        JobQueue<?> queue = null;
+        Iterator<JobQueue<String>> it = queueMap.values().iterator();
+        while (it.hasNext()) {
+            queue = it.next();
+            job = queue.getQueuedJobByUniqueJobNumber(uniqueJobNumber);
+            if (job != null) {
+                break;
+            }
+        }
         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();
+        queue.refreshQueue();
     }
-
-    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.
      *

--
Gitblit v1.10.0