From 1c087fae322a1b07bb7bd554ee10ff473c47c727 Mon Sep 17 00:00:00 2001
From: Fin Reinhard <fin.reinhard@icloud.com>
Date: Tue, 22 Jan 2019 20:51:03 +0000
Subject: [PATCH] Merge branch 'master' into feature/15-archive-view-url
---
borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java | 32 ++++++++++++++++++++++++++++----
1 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java
index df97791..fc8d054 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/jobs/AbstractJob.java
@@ -1,11 +1,13 @@
package de.micromata.borgbutler.jobs;
+import de.micromata.borgbutler.utils.DateUtils;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.time.LocalDateTime;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
@@ -18,7 +20,6 @@
@Setter
private boolean cancellationRequested;
@Getter
- @Setter(AccessLevel.PROTECTED)
private Status status;
@Getter
@Setter
@@ -29,17 +30,36 @@
@Getter
@Setter(AccessLevel.PROTECTED)
private long uniqueJobNumber = -1;
+ @Getter
+ @Setter
+ private String createTime;
+ @Getter
+ @Setter
+ private String startTime;
+ @Getter
+ @Setter
+ private String stopTime;
+
+ protected AbstractJob<T> setStatus(Status status) {
+ if (status == Status.RUNNING && this.status != Status.RUNNING) {
+ this.startTime = DateUtils.format(LocalDateTime.now());
+ } else if (status != Status.RUNNING && this.status == Status.RUNNING) {
+ this.stopTime = DateUtils.format(LocalDateTime.now());
+ }
+ this.status = status;
+ return this;
+ }
public void cancel() {
if (this.getStatus() == Status.QUEUED) {
- this.status = Status.CANCELLED;
+ setStatus(Status.CANCELLED);
}
this.cancellationRequested = true;
cancelRunningProcess();
}
protected void setCancelled() {
- this.status = Status.CANCELLED;
+ setStatus(Status.CANCELLED);
}
/**
@@ -74,7 +94,7 @@
if (this.status != Status.RUNNING) {
logger.error("Internal error, illegal state! You shouldn't set the job status to FAILED if not in status RUNNING: " + this.status);
}
- this.status = Status.FAILED;
+ setStatus(Status.FAILED);
}
/**
@@ -96,4 +116,8 @@
* @return
*/
public abstract Object getId();
+
+ protected AbstractJob() {
+ this.createTime = DateUtils.format(LocalDateTime.now());
+ }
}
--
Gitblit v1.10.0