diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-05-26 10:42:01 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-05-26 10:42:01 +0200 |
commit | b65d39ab617d19ac48f44bc41f04a18803ca75e6 (patch) | |
tree | c93ed68851b56f64a33508108cdb432bf507fa11 /src/main/java/io/trygvis/queue/TaskDao.java | |
parent | 74a3da1853eeb2e853d17d8d8527404248b209d3 (diff) | |
download | quartz-based-queue-b65d39ab617d19ac48f44bc41f04a18803ca75e6.tar.gz quartz-based-queue-b65d39ab617d19ac48f44bc41f04a18803ca75e6.tar.bz2 quartz-based-queue-b65d39ab617d19ac48f44bc41f04a18803ca75e6.tar.xz quartz-based-queue-b65d39ab617d19ac48f44bc41f04a18803ca75e6.zip |
o Adding a 'parent' reference so tasks can be put in a tree.
Diffstat (limited to 'src/main/java/io/trygvis/queue/TaskDao.java')
-rw-r--r-- | src/main/java/io/trygvis/queue/TaskDao.java | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/main/java/io/trygvis/queue/TaskDao.java b/src/main/java/io/trygvis/queue/TaskDao.java index dac99c7..a59dcbb 100644 --- a/src/main/java/io/trygvis/queue/TaskDao.java +++ b/src/main/java/io/trygvis/queue/TaskDao.java @@ -21,10 +21,14 @@ public class TaskDao { @Autowired private JdbcTemplate jdbcTemplate; - @Transactional(propagation = MANDATORY) public long insert(String queue, Date scheduled, String arguments) { - jdbcTemplate.update("INSERT INTO task(id, run_count, queue, scheduled, arguments) " + - "VALUES(nextval('task_seq'), 0, ?, ?, ?)", queue, scheduled, arguments); + return this.insert(null, queue, scheduled, arguments); + } + + @Transactional(propagation = MANDATORY) + public long insert(Long parent, String queue, Date scheduled, String arguments) { + jdbcTemplate.update("INSERT INTO task(id, parent, run_count, queue, scheduled, arguments) " + + "VALUES(nextval('task_seq'), ?, 0, ?, ?, ?)", parent, queue, scheduled, arguments); return jdbcTemplate.queryForObject("SELECT currval('task_seq')", Long.class); } @@ -47,17 +51,18 @@ public class TaskDao { } private class TaskRowMapper implements RowMapper<Task> { - public static final String fields = "id, queue, scheduled, last_run, run_count, completed, arguments"; + public static final String fields = "id, parent, queue, scheduled, last_run, run_count, completed, arguments"; public Task mapRow(ResultSet rs, int rowNum) throws SQLException { - String arguments = rs.getString(7); + String arguments = rs.getString(8); return new Task( rs.getLong(1), - rs.getString(2), - rs.getTimestamp(3), + rs.getLong(2), + rs.getString(3), rs.getTimestamp(4), - rs.getInt(5), - rs.getTimestamp(6), + rs.getTimestamp(5), + rs.getInt(6), + rs.getTimestamp(7), arguments != null ? asList(arguments.split(" ")) : Collections.<String>emptyList()); } } |