package br.com.caelum.vraptor.restbucks.web;
import static br.com.caelum.vraptor.view.Results.xml;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.restbucks.Order;
import br.com.caelum.vraptor.restbucks.OrderDatabase;
import br.com.caelum.vraptor.view.Status;
@Resource
public class PaymentController {
private final Result result;
private final Status status;
private final OrderDatabase database;
public PaymentController(Result result, Status status,
OrderDatabase database) {
this.result = result;
this.status = status;
this.database = database;
}
@Get
@Path("/orders/{order.id}/payment")
public void get(Order order) {
order = database.getOrder(order.getId());
if (order != null) {
result.use(xml()).from(order.getPayment()).serialize();
} else {
status.notFound();
}
}
}