From 8477e8a888d584cf1352a4b69d7cefb2b7cd9ace Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 14 Apr 2013 18:04:50 +0200 Subject: o Dropping quartz, using straight executor service. --- src/main/java/io/trygvis/model/Task.java | 74 +++++++++++++++++++++++++++++--- 1 file changed, 68 insertions(+), 6 deletions(-) (limited to 'src/main/java/io/trygvis/model/Task.java') 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 + '\'' + + '}'; } } -- cgit v1.2.3