package br.com.caelum.calopsita.plugins.prioritization; import static br.com.caelum.vraptor.view.Results.nothing; import java.util.List; import br.com.caelum.calopsita.model.Project; import br.com.caelum.vraptor.Get; import br.com.caelum.vraptor.Path; import br.com.caelum.vraptor.Post; import br.com.caelum.vraptor.Resource; import br.com.caelum.vraptor.Result; @Resource public class PrioritizationController { private final PrioritizationRepository repository; private final Result result; public PrioritizationController(Result result, PrioritizationRepository repository) { this.result = result; this.repository = repository; } @Path("/projects/{project.id}/prioritization/") @Get public void prioritization(Project project) { result.include("project", project.load()); result.include("cards", this.repository.listCards(project)); } @Path("/projects/{project.id}/prioritize/") @Post public void prioritize(Project project, List<PrioritizableCard> cards) { for (PrioritizableCard card : cards) { PrioritizableCard loaded = repository.load(card); loaded.setPriority(card.getPriority()); } prioritization(project); result.use(nothing()); } }