cluster5.server.managers
Class TaskManager

java.lang.Object
  extended by cluster5.server.managers.TaskManager

public class TaskManager
extends java.lang.Object


Method Summary
 void cleanTasksProcessedBy(java.lang.Long terminalId)
          Resets all tasks processed by the specified terminal to NEW with null allocation tag.
 java.lang.Long createTask(java.lang.String token, java.lang.Long projectId, byte[] argument)
          Creates new task and inserts it into database.
 boolean deleteTask(java.lang.String token, java.lang.Long projectId, java.lang.Long taskId)
           
static TaskManager getInstace()
           
 Task getTask(java.lang.Long taskId)
           
 Task.Status getTaskStatus(java.lang.Long taskId)
           
 java.util.List<Task.Status> getTaskStatuses(java.lang.Long projectId)
           
 Task getTaskToProcess(java.lang.Long terminalId)
           
 java.util.List<java.lang.Long> listTaskIds(java.lang.Long projectId)
           
 void save(Task task)
          Saves/updates specified task into the database.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstace

public static TaskManager getInstace()

getTask

public Task getTask(java.lang.Long taskId)

getTaskStatus

public Task.Status getTaskStatus(java.lang.Long taskId)

listTaskIds

public java.util.List<java.lang.Long> listTaskIds(java.lang.Long projectId)

createTask

public java.lang.Long createTask(java.lang.String token,
                                 java.lang.Long projectId,
                                 byte[] argument)
Creates new task and inserts it into database.

Parameters:
token -
projectId -
argument -
Returns:
ID of the task as inserted in the DB

deleteTask

public boolean deleteTask(java.lang.String token,
                          java.lang.Long projectId,
                          java.lang.Long taskId)
Parameters:
token -
projectId -
taskId -
Returns:
true if the task was deleted

save

public void save(Task task)
Saves/updates specified task into the database.

Parameters:
task -

getTaskToProcess

public Task getTaskToProcess(java.lang.Long terminalId)
Parameters:
terminalId - ID of the terminal requesting a task
Returns:
instance of a new task to process or null if there are no tasks

getTaskStatuses

public java.util.List<Task.Status> getTaskStatuses(java.lang.Long projectId)
Parameters:
projectId -
See Also:
TaskDao#getTaskStatuses(Long)}

cleanTasksProcessedBy

public void cleanTasksProcessedBy(java.lang.Long terminalId)
Resets all tasks processed by the specified terminal to NEW with null allocation tag.

Parameters:
terminalId - ID of a terminal that just shut down or crashed