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   
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  }