package dk.daoas.adressevedligehold.tasks; import java.util.List; import javax.servlet.ServletContext; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import com.google.gson.Gson; import dk.daoas.adressevedligehold.tasks.Task.TaskBean; @Path("/tasks") public class TaskRestService { @Context ServletContext context; @Path("/list") @GET @Produces(MediaType.APPLICATION_JSON) public String listTasks( ) { TaskManager taskManager = (TaskManager) context.getAttribute(TaskManager.TASKMANAGER); List beans = taskManager.getTasks(); Gson gson = new Gson(); String json = gson.toJson(beans); return json; } @Path("/log/{id}") @GET @Produces(MediaType.TEXT_PLAIN) public String getLog( @PathParam("id") int taskId ) { TaskManager taskManager = (TaskManager) context.getAttribute(TaskManager.TASKMANAGER); Task t = taskManager.getTaskById(taskId); if (t == null ){ return "No task with id: " + taskId; } return t.getLog(); } @Path("/remove/{id}") @GET @Produces(MediaType.TEXT_PLAIN) public String removeTask( @PathParam("id") int taskId ) { TaskManager taskManager = (TaskManager) context.getAttribute(TaskManager.TASKMANAGER); Task removeTask = taskManager.getTaskById(taskId); if (removeTask == null ){ return "No task with id: " + taskId; } taskManager.removeTask(removeTask); return "OK"; } }