aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/queue/TaskDao.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-06-16 21:26:17 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2013-06-16 21:26:17 +0200
commite57f313713ee0fc52d7dd1247c51914d1462dfc2 (patch)
treef39a49b967f6f18d0637e61f2dd4d8081615283b /src/main/java/io/trygvis/queue/TaskDao.java
parent1ec4fae12c5e5363591013e5a759590d913d6782 (diff)
downloadquartz-based-queue-e57f313713ee0fc52d7dd1247c51914d1462dfc2.tar.gz
quartz-based-queue-e57f313713ee0fc52d7dd1247c51914d1462dfc2.tar.bz2
quartz-based-queue-e57f313713ee0fc52d7dd1247c51914d1462dfc2.tar.xz
quartz-based-queue-e57f313713ee0fc52d7dd1247c51914d1462dfc2.zip
wip
Diffstat (limited to 'src/main/java/io/trygvis/queue/TaskDao.java')
-rw-r--r--src/main/java/io/trygvis/queue/TaskDao.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/main/java/io/trygvis/queue/TaskDao.java b/src/main/java/io/trygvis/queue/TaskDao.java
index 5d77a41..365b44b 100644
--- a/src/main/java/io/trygvis/queue/TaskDao.java
+++ b/src/main/java/io/trygvis/queue/TaskDao.java
@@ -84,14 +84,27 @@ public class TaskDao {
}
public int update(Task task) throws SQLException {
- try (PreparedStatement stmt = c.prepareStatement("UPDATE task SET state=?, scheduled=?, last_run=?, run_count=?, completed=? WHERE id=?")) {
+ return update(task, null);
+ }
+
+ public int update(Task task, TaskState state) throws SQLException {
+ String sql = "UPDATE task SET state=?, scheduled=?, last_run=?, run_count=?, completed=? WHERE id=?";
+
+ if (state != null) {
+ sql += " AND state=?";
+ }
+
+ try (PreparedStatement stmt = c.prepareStatement(sql)) {
int i = 1;
stmt.setString(i++, task.state.name());
stmt.setTimestamp(i++, new Timestamp(task.scheduled.getTime()));
setTimestamp(stmt, i++, task.lastRun);
stmt.setInt(i++, task.runCount);
setTimestamp(stmt, i++, task.completed);
- stmt.setLong(i, task.id());
+ stmt.setLong(i++, task.id());
+ if (state != null) {
+ stmt.setString(i, state.name());
+ }
return stmt.executeUpdate();
}
}