Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. package br.com.treina.dog.controlador;
  2.  
  3.  
  4. import java.util.List;
  5.  
  6. import javax.inject.Inject;
  7.  
  8. import br.com.caelum.vraptor.Controller;
  9. import br.com.caelum.vraptor.Delete;
  10. import br.com.caelum.vraptor.Get;
  11. import br.com.caelum.vraptor.Post;
  12. import br.com.caelum.vraptor.Put;
  13. import br.com.caelum.vraptor.Result;
  14. import br.com.caelum.vraptor.validator.Validator;
  15. import br.com.treina.dog.modelo.Pessoa;
  16. import br.com.treina.dog.repositorio.PessoaRepository;
  17.  
  18. @Controller
  19. public class PessoaController {
  20.  
  21. private final Result result;
  22. private final PessoaRepository repository;
  23.  
  24. private final Validator validator;
  25.  
  26. @Inject
  27. public PessoaController(Result result, PessoaRepository repository,
  28. Validator validator) {
  29. this.result = result;
  30. this.repository = repository;
  31.  
  32. this.validator = validator;
  33. }
  34.  
  35. public PessoaController() {
  36. this(null, null, null);
  37. }
  38.  
  39.  
  40. @Get("/pessoas")
  41. public List<Pessoa> index() {
  42.  
  43. return repository.findAll();
  44.  
  45. }
  46.  
  47. @Post("/pessoas")
  48. public void create(Pessoa pessoa) {
  49. validator.onErrorUsePageOf(this).newPessoa();
  50. repository.create(pessoa);
  51. result.redirectTo(this).index();
  52. }
  53.  
  54. @Get("/pessoas/new")
  55. public Pessoa newPessoa() {
  56. return new Pessoa();
  57. }
  58.  
  59. @Put("/pessoas")
  60. public void update(Pessoa pessoa) {
  61. validator.onErrorUsePageOf(this).edit(pessoa);
  62. repository.update(pessoa);
  63. result.redirectTo(this).index();
  64. }
  65.  
  66. @Get("/pessoas/{pessoa.id}/edit")
  67. public Pessoa edit(Pessoa pessoa) {
  68.  
  69. return repository.find(pessoa.getId());
  70. }
  71.  
  72. @Get("/pessoas/{pessoa.id}")
  73. public Pessoa show(Pessoa pessoa) {
  74. return repository.find(pessoa.getId());
  75. }
  76.  
  77. @Delete("/pessoas/{pessoa.id}")
  78. public void destroy(Pessoa pessoa) {
  79. repository.destroy(repository.find(pessoa.getId()));
  80. result.redirectTo(this).index();
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement