1 package com.atlassian.plugins.rest.test;
2
3 import com.google.common.base.Preconditions;
4
5 import javax.ws.rs.Consumes;
6 import javax.ws.rs.GET;
7 import javax.ws.rs.Produces;
8
9 import static javax.ws.rs.core.MediaType.*;
10
11 import javax.ws.rs.core.Response;
12 import javax.ws.rs.core.UriInfo;
13
14 @Consumes({APPLICATION_XML, APPLICATION_JSON})
15 @Produces({APPLICATION_XML, APPLICATION_JSON})
16 public class ProjectSubResource {
17 private final Project project;
18 private final UriInfo uriInfo;
19
20 public ProjectSubResource(Projects projects, String projectName, UriInfo uriInfo) {
21 this.project = projects.getProjectsMap().get(projectName);
22 this.uriInfo = Preconditions.checkNotNull(uriInfo);
23 }
24
25 @GET
26 public Response getProject() {
27 return project != null ? Response.ok(project.build(uriInfo)).build() : Response.status(Response.Status.NOT_FOUND).build();
28 }
29 }