package budgetforce.control.resources;
// <editor-fold defaultstate="collapsed" desc="imports">
import budgetforce.model.Project;
import budgetforce.model.DatabaseManager;
import javax.ws.rs.core.Response;
import javax.ws.rs.PathParam;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.DELETE;
import javax.ws.rs.Produces;
import javax.ws.rs.Consumes;
// </editor-fold>
/**
* REST Web Service
*
* @author David König
*/
@Path("/project")
public class ProjectResource {
public ProjectResource()
{
}
@GET
@Path("{id}")
@Produces("application/json")
public Project getProjectById(@PathParam("id") Integer _Id)
{
Project project = new Project();
project = DatabaseManager.getDatabaseManager().getProjectByID(_Id);
return project;
}
//post to create a new entry
@POST
@Consumes("application/json")
@Produces("application/json")
public Response postProject(Project _Project)
{
DatabaseManager.getDatabaseManager().insertProject(_Project);
return Response.status(201).entity(_Project).build();
}
//put for updating an entry
@PUT
@Path("{id}")
@Consumes("application/json")
@Produces("application/json")
public Response putProject(@PathParam("id") Integer _Id, Project _Project)
{
_Project.setId(_Id);
DatabaseManager.getDatabaseManager().updateProject(_Project);
return Response.status(201).entity(_Project).build();
}
@DELETE
@Path("{id}")
@Consumes("application/json")
@Produces("application/json")
public Response deleteProject(@PathParam("id") Integer _Id)
{
boolean successful = DatabaseManager.getDatabaseManager().deleteProject(_Id);
return Response.status(200).entity(successful).build();
}
}