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/JdbcAsyncService.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/main/java/io/trygvis/queue/JdbcAsyncService.java') diff --git a/src/main/java/io/trygvis/queue/JdbcAsyncService.java b/src/main/java/io/trygvis/queue/JdbcAsyncService.java index 06e7eee..276541f 100644 --- a/src/main/java/io/trygvis/queue/JdbcAsyncService.java +++ b/src/main/java/io/trygvis/queue/JdbcAsyncService.java @@ -94,6 +94,14 @@ public class JdbcAsyncService implements AsyncService { @Transactional(propagation = REQUIRED) public Task schedule(final Queue queue, String... args) { + return scheduleInner(null, queue, args); + } + + public Task schedule(long parent, Queue queue, String... args) { + return scheduleInner(parent, queue, args); + } + + private Task scheduleInner(Long parent, final Queue queue, String... args) { Date scheduled = new Date(); StringBuilder arguments = new StringBuilder(); @@ -101,8 +109,8 @@ public class JdbcAsyncService implements AsyncService { arguments.append(arg).append(' '); } - long id = taskDao.insert(queue.name, scheduled, arguments.toString()); - Task task = new Task(id, queue.name, scheduled, null, 0, null, asList(args)); + long id = taskDao.insert(parent, queue.name, scheduled, arguments.toString()); + Task task = new Task(parent, id, queue.name, scheduled, null, 0, null, asList(args)); log.info("Created task = {}", task); registerSynchronization(new TransactionSynchronizationAdapter() { -- cgit v1.2.3