From 80406d66f759065c0dae7aea332f847c65c77001 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 05 Jan 2019 21:02:13 +0000
Subject: [PATCH] Job monitor...

---
 borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java
index 7ce762e..5e5a95c 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/JobQueue.java
@@ -1,6 +1,5 @@
 package de.micromata.borgbutler.jobs;
 
-import lombok.Getter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -11,20 +10,22 @@
 
 public class JobQueue<T> {
     private static final int MAX_DONE_JOBS_SIZE = 50;
+    private static long jobSequence = 0;
     private Logger log = LoggerFactory.getLogger(JobQueue.class);
-    @Getter
     private List<AbstractJob<T>> queue = new ArrayList<>();
     private List<AbstractJob<T>> doneJobs = new LinkedList<>();
     private ExecutorService executorService = Executors.newSingleThreadExecutor();
 
+    private  static synchronized void setNextJobId(AbstractJob<?> job) {
+        job.setUniqueJobNumber(jobSequence++);
+    }
+
     public int getQueueSize() {
         return queue.size();
     }
 
-    public List<AbstractJob<T>> getDoneJobs() {
-        synchronized (doneJobs) {
-            return Collections.unmodifiableList(doneJobs);
-        }
+    public Iterator<AbstractJob<T>> getQueueIterator() {
+        return Collections.unmodifiableList(queue).iterator();
     }
 
     /**
@@ -41,6 +42,7 @@
                     return queuedJob;
                 }
             }
+            setNextJobId(job);
             queue.add(job.setStatus(AbstractJob.Status.QUEUED));
         }
         job.setFuture(executorService.submit(new CallableTask(job)));
@@ -79,8 +81,6 @@
                 }
             }
         }
-
-
     }
 
     private class CallableTask implements Callable<JobResult<T>> {

--
Gitblit v1.10.0