Package com.wesabe.grendel.resources

Source Code of com.wesabe.grendel.resources.LinkedDocumentsResource

package com.wesabe.grendel.resources;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;

import com.google.inject.Inject;
import com.wesabe.grendel.auth.Credentials;
import com.wesabe.grendel.auth.Session;
import com.wesabe.grendel.entities.Document;
import com.wesabe.grendel.entities.dao.UserDAO;
import com.wesabe.grendel.representations.LinkedDocumentListRepresentation;

/**
* A class which exposes a list of linked {@link Document}s as a resource.
*
* @author coda
*/
@Path("/users/{id}/linked-documents")
@Produces(MediaType.APPLICATION_JSON)
public class LinkedDocumentsResource {
  private final UserDAO userDAO;

  @Inject
  public LinkedDocumentsResource(UserDAO userDAO) {
    this.userDAO = userDAO;
  }

  @GET
  public LinkedDocumentListRepresentation listDocuments(@Context UriInfo uriInfo,
    @Context Credentials credentials, @PathParam("id") String id) {
   
    final Session session = credentials.buildSession(userDAO, id);

    return new LinkedDocumentListRepresentation(uriInfo, session.getUser());
  }
}
TOP

Related Classes of com.wesabe.grendel.resources.LinkedDocumentsResource

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.