View Javadoc

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  }