package org.sakaiproject.tool.tasklist.impl;
import java.util.Collection;
import java.util.Date;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.sakaiproject.tool.api.ToolManager;
import org.sakaiproject.user.api.UserDirectoryService;
import org.sakaiproject.tool.tasklist.api.TaskListManager;
import org.sakaiproject.tool.tasklist.api.TaskListService;
import org.sakaiproject.tool.tasklist.api.Task;
import org.sakaiproject.tool.tasklist.impl.TaskImpl;
public class TaskListServiceImpl implements TaskListService {
private Log log = LogFactory.getLog(this.getClass());
private TaskListManager taskListManager;
private ToolManager toolManager;
private UserDirectoryService userDirectoryService;
public TaskListServiceImpl() {
log.info("Constructor");
}
public void setTaskListManager(TaskListManager taskListManager) {
log.info("setTaskListManager");
this.taskListManager = taskListManager;
}
public void setToolManager(ToolManager toolManager) {
log.info("setToolManager");
this.toolManager = toolManager;
}
public void setUserDirectoryService(UserDirectoryService userDirectoryService) {
log.info("setUserDirectoryService");
this.userDirectoryService = userDirectoryService;
}
public Collection getAllTasks(String workSiteId) {
log.info("getAllTasks");
return taskListManager.findAllTasks(workSiteId);
}
public Collection getAllTasks() {
log.info("getAllTasks");
return this.getAllTasks(this.getWorkSiteId());
}
public void addTask(Task task) {
log.info("addTask");
taskListManager.saveTask(task);
}
public void removeTask(Long id) {
log.info("removeTask");
taskListManager.deleteTask(id);
}
public String getWorkSiteId() {
log.info("getWorkSiteId");
String workSiteId = toolManager.getCurrentPlacement().getContext();
log.info("getWorkSiteId = " + workSiteId);
return workSiteId;
}
public String getCurrentUserId() {
log.info("getCurrentUserId");
return userDirectoryService.getCurrentUser().getEid();
}
public String getCurrentUserDisplayName() {
log.info("getCurrentUserDisplayName");
return userDirectoryService.getCurrentUser().getDisplayName();
}
public Task createTask(String taskText) {
Task task = new TaskImpl();
task.setOwner(this.getCurrentUserId());
task.setWorkSiteId(this.getWorkSiteId());
task.setCreationDate(new Date());
return task;
}
}