package com.example.resources; import com.example.handlers.ProjectRequestHandler; import com.graphutils.indie.resources.Resource; import com.sun.jersey.spi.CloseableService; import com.tinkerpop.blueprints.pgm.impls.neo4j.Neo4jGraph; import org.neo4j.server.database.Database; import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @Path("/projects") public class ProjectResource extends Resource { private ProjectRequestHandler handler; public ProjectResource(@Context final CloseableService cs, @Context final Database db) { this.closeableService = cs; this.db = db; this.handler = new ProjectRequestHandler(new Neo4jGraph(db.graph)); } @GET @Path("{id}") @Produces(MediaType.APPLICATION_JSON) public Response ping(@PathParam("id") String id) { return getJson(handler.projectsFor(id)); } @POST public Response loadTinkerGraphProjects() { return post(handler.loadTinkerGraphData()); } }