PrintedCardRestView.java 1.12 KB
package fi.codecrew.moya.rest.meta;

import java.util.List;

import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.json.JsonObject;
import javax.ws.rs.Consumes;
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.MediaType;
import javax.ws.rs.core.PathSegment;

import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.model.PrintedCard;

@RequestScoped
@Path("/meta/printedcard")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_JSON + "; charset=UTF-8" })
public class PrintedCardRestView {

	@EJB
	CardTemplateBeanLocal cardTemplateBeanLocal;

	/**
	 * Metadata for entity.
	 * 
	 * @param id
	 * @param keys
	 *            The path segments after card id
	 * @return
	 */
	@GET
	@Path("/{id}/{keys:.*}")
	public String getPrintedCardMeta(@PathParam("id") Integer id,
			@PathParam("key") List<PathSegment> keys) {
		PrintedCard printedCard = cardTemplateBeanLocal.findCard(id);
		JsonObject meta = printedCard.getMeta();
		return meta.toString() + "\n";
	}
}