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 import static javax.ws.rs.core.MediaType.*;
9 import javax.ws.rs.core.Response;
10 import javax.ws.rs.core.UriInfo;
11
12 @Consumes({APPLICATION_XML, APPLICATION_JSON})
13 @Produces({APPLICATION_XML, APPLICATION_JSON})
14 public class ProjectSubResource
15 {
16 private final Project project;
17 private final UriInfo uriInfo;
18
19 public ProjectSubResource(Projects projects, String projectName, UriInfo uriInfo)
20 {
21 this.project = projects.getProjectsMap().get(projectName);
22 this.uriInfo = Preconditions.checkNotNull(uriInfo);
23 }
24
25 @GET
26 public Response getProject()
27 {
28 return project != null ? Response.ok(project.build(uriInfo)).build() : Response.status(Response.Status.NOT_FOUND).build();
29 }
30 }