aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/model/Task.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/trygvis/model/Task.java')
-rwxr-xr-xsrc/main/java/io/trygvis/model/Task.java74
1 files changed, 68 insertions, 6 deletions
diff --git a/src/main/java/io/trygvis/model/Task.java b/src/main/java/io/trygvis/model/Task.java
index fa44e26..e86b623 100755
--- a/src/main/java/io/trygvis/model/Task.java
+++ b/src/main/java/io/trygvis/model/Task.java
@@ -1,6 +1,8 @@
package io.trygvis.model;
import javax.persistence.*;
+import java.util.*;
+import java.util.regex.*;
@Entity
public class Task {
@@ -12,21 +14,81 @@ public class Task {
@ManyToOne
private Queue queue;
- private Long long1;
+ private Date scheduled;
- public Task(Queue queue) {
+ private Date lastRun;
+
+ private int runCount;
+
+ private Date completed;
+
+ private String arguments;
+
+ private static final Pattern pattern = Pattern.compile(" ");
+
+ @SuppressWarnings("UnusedDeclaration")
+ private Task() {
+ }
+
+ public Task(Queue queue, Date scheduled, String... arguments) {
this.queue = queue;
+ this.scheduled = scheduled;
+
+ StringBuilder builder = new StringBuilder(arguments.length * 100);
+ for (String argument : arguments) {
+ if (pattern.matcher(argument).matches()) {
+ throw new RuntimeException("Bad argument: '" + argument + "'.");
+ }
+ builder.append(argument).append(' ');
+ }
+ this.arguments = builder.toString();
}
public Integer getId() {
return id;
}
- public Long getLong1() {
- return long1;
+ public String[] getArguments() {
+ return arguments.split(" ");
+ }
+
+ public Date getScheduled() {
+ return scheduled;
+ }
+
+ public Date getLastRun() {
+ return lastRun;
+ }
+
+ public int getRunCount() {
+ return runCount;
+ }
+
+ public Date getCompleted() {
+ return completed;
+ }
+
+ public void setCompleted(Date completed) {
+ this.completed = completed;
+ }
+
+ public void registerRun() {
+ lastRun = new Date();
+ runCount++;
+ }
+
+ public void registerComplete(Date completed) {
+ this.completed = completed;
}
- public void setLong1(Long long1) {
- this.long1 = long1;
+ public String toString() {
+ return "Task{" +
+ "id=" + id +
+ ", queue=" + queue +
+ ", scheduled=" + scheduled +
+ ", lastRun=" + lastRun +
+ ", completed=" + completed +
+ ", arguments='" + arguments + '\'' +
+ '}';
}
}