From 0e0d4d801b55c224b60fca5e62fd648206cdbf09 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Fri, 04 Jan 2019 23:55:22 +0000
Subject: [PATCH] Job monitor...

---
 borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/queue/JsonJob.java |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 49 insertions(+), 0 deletions(-)

diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/queue/JsonJob.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/queue/JsonJob.java
index e316058..04ddda7 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/queue/JsonJob.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/queue/JsonJob.java
@@ -1,6 +1,9 @@
 package de.micromata.borgbutler.server.rest.queue;
 
+import de.micromata.borgbutler.BorgJob;
 import de.micromata.borgbutler.jobs.AbstractJob;
+import de.micromata.borgbutler.json.borg.ProgressMessage;
+import de.micromata.borgbutler.server.user.UserUtils;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -15,6 +18,52 @@
     @Setter
     private String title;
     @Getter
+    private String description;
+    @Getter
     @Setter
     private String progressText;
+    @Setter
+    @Getter
+    private ProgressMessage progressMessage;
+    @Getter
+    private String commandLineAsString;
+
+    public JsonJob() {
+    }
+
+    public JsonJob(BorgJob<?> borgJob) {
+        this.cancelledRequested = borgJob.isCancelledRequested();
+        this.status = borgJob.getStatus();
+        this.title = borgJob.getTitle();
+        ProgressMessage progressMessage = borgJob.getProgressMessage();
+        if (progressMessage != null) {
+            this.progressMessage = progressMessage;
+            this.progressText = progressMessageToString();
+        }
+        this.commandLineAsString = borgJob.getCommandLineAsString();
+        this.description = borgJob.getDescription();
+    }
+
+    public String progressMessageToString() {
+        if (progressMessage == null) {
+            return "";
+        }
+        StringBuilder sb = new StringBuilder();
+        if (progressMessage.getMessage()!= null) {
+            sb.append(progressMessage.getMessage());
+        }
+        if (progressMessage.getCurrent() > 0) {
+            sb.append(" (").append(UserUtils.formatNumber(progressMessage.getCurrent()));
+            if (progressMessage.getTotal() > 0) {
+                sb.append("/").append(UserUtils.formatNumber(progressMessage.getTotal()));
+            }
+            sb.append(")");
+        }
+        if (progressMessage.isFinished()) {
+            sb.append(" (finished)");
+        }
+        sb.append(".");
+        return sb.toString();
+    }
+
 }

--
Gitblit v1.10.0