From b65d39ab617d19ac48f44bc41f04a18803ca75e6 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 26 May 2013 10:42:01 +0200 Subject: o Adding a 'parent' reference so tasks can be put in a tree. --- src/main/java/io/trygvis/queue/TaskDao.java | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'src/main/java/io/trygvis/queue/TaskDao.java') 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 { - 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.emptyList()); } } -- cgit v1.2.3