aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/queue/TaskDao.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/trygvis/queue/TaskDao.java')
-rw-r--r--src/main/java/io/trygvis/queue/TaskDao.java23
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());
}
}