PrintedCardRestViewV1.java 1.59 KB
package fi.codecrew.moya.rest.meta.v1;

import java.util.List;

import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
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/v1/printedcard")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON + "; charset=UTF-8" })
public class PrintedCardRestViewV1 extends AbstractRestViewV1 {

	@EJB
	CardTemplateBeanLocal cardTemplateBeanLocal;

	@GET
	@Path("/{id}/{path:.*}")
	public String getMeta(@PathParam("id") Integer id,
			@PathParam("path") List<PathSegment> path) {

		PrintedCard printedCard = cardTemplateBeanLocal.findCard(id);
		return getEntityMeta(printedCard, path);
	}

	@PUT
	@Path("/{id}/{path:.*}")
	public void putMeta(@PathParam("id") Integer id,
			@PathParam("path") List<PathSegment> path, String jsonString) {

		PrintedCard printedCard = cardTemplateBeanLocal.findCard(id);
		setEntityMeta(printedCard, path, jsonString);
		cardTemplateBeanLocal.saveCard(printedCard);
	}

	@POST
	@Path("/{id}/{path:.*}")
	public void postMeta(@PathParam("id") Integer id,
			@PathParam("path") List<PathSegment> path, String jsonString) {

		PrintedCard printedCard = cardTemplateBeanLocal.findCard(id);
		setEntityMeta(printedCard, path, jsonString);
		cardTemplateBeanLocal.saveCard(printedCard);
	}
}