Guest User

DepartamentoController.java

a guest
Aug 21st, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.72 KB | None | 0 0
  1. package br.ueg.posse.speed.system.controller;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7.  
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Controller;
  10. import org.springframework.validation.Errors;
  11. import org.springframework.validation.annotation.Validated;
  12. import org.springframework.web.bind.annotation.ModelAttribute;
  13. import org.springframework.web.bind.annotation.PathVariable;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestMethod;
  16. import org.springframework.web.bind.annotation.RequestParam;
  17. import org.springframework.web.bind.annotation.ResponseBody;
  18. import org.springframework.web.servlet.ModelAndView;
  19. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
  20.  
  21. import br.ueg.posse.speed.system.model.Departamento;
  22. import br.ueg.posse.speed.system.model.Usuario;
  23. import br.ueg.posse.speed.system.repository.Usuarios;
  24. import br.ueg.posse.speed.system.repository.filter.DepartamentoFilter;
  25. import br.ueg.posse.speed.system.service.CadastroDepartamentoService;
  26.  
  27. @Controller
  28. @RequestMapping("/departamentos")
  29. public class DepartamentoController {
  30.  
  31.     @Autowired
  32.     private CadastroDepartamentoService cadastroDepartamentoService;
  33.  
  34.     @Autowired
  35.     private Usuarios usuarios;
  36.  
  37.     @RequestMapping("/novo")
  38.     public ModelAndView novo() {
  39.  
  40.         ModelAndView mv = new ModelAndView("/departamento/CadastroDepartamento");
  41.         mv.addObject(new Departamento());
  42.         mv.addObject("usuarios", usuarios.findAll());
  43.  
  44.         return mv;
  45.     }
  46.  
  47.     // Salvar
  48.     @RequestMapping(method = RequestMethod.POST)
  49.     public String salvar(@Validated Departamento departamento, Errors errors, RedirectAttributes attributes) {
  50.         if (errors.hasErrors()) {
  51.             return "/departamento/CadastroDepartamento";
  52.         }
  53.  
  54.         try {
  55.             cadastroDepartamentoService.salvar(departamento);
  56.             attributes.addFlashAttribute("mensagem", "Departamento Salvo com sucesso!!");
  57.             return "redirect:/departamentos/novo";
  58.         } catch (IllegalArgumentException e) {
  59.             errors.rejectValue("dataVencimento", null, e.getMessage());
  60.             return "/departamento/CadastroDepartamento";
  61.         }
  62.     }
  63.  
  64.     // Pesquisar
  65.     @RequestMapping("/pesquisar")
  66.     public ModelAndView pesquisar(@ModelAttribute("filtro") DepartamentoFilter filtro) {
  67.         List<Departamento> todosDepartamentos = cadastroDepartamentoService.filtrar(filtro);
  68.  
  69.         ModelAndView mv = new ModelAndView("/departamento/PesquisaDepartamentos");
  70.         mv.addObject("departamentos", todosDepartamentos);
  71.         return mv;
  72.     }
  73.  
  74.     // Editar
  75.     @RequestMapping("{id}")
  76.     public ModelAndView edicao(@PathVariable("id") Departamento departamento) {
  77.         ModelAndView mv = new ModelAndView("/departamento/CadastroDepartamento");
  78.         mv.addObject(departamento);
  79.         return mv;
  80.     }
  81.  
  82.     // Excluir
  83.     @RequestMapping(value = "{id}", method = RequestMethod.DELETE)
  84.     public String excluir(@PathVariable Long id, RedirectAttributes attributes) {
  85.         cadastroDepartamentoService.excluir(id);
  86.  
  87.         attributes.addFlashAttribute("mensagem", "Departamento excluĂ­do com sucesso!");
  88.         return "redirect:/departamentos/pesquisar/";
  89.     }
  90.  
  91.    
  92.    
  93.     @RequestMapping(value = "/get_usuario_list", method = RequestMethod.GET)
  94.     public @ResponseBody
  95.     List<Usuario> getUsuarios(@RequestParam String name) {
  96.  
  97.         return simulateSearchResult(name);
  98.  
  99.     }
  100.  
  101.  
  102.     private List<Usuario> simulateSearchResult(String name) {
  103.  
  104.         List<Usuario> result = new ArrayList<Usuario>();
  105.         List<Usuario> usuarios = this.usuarios.findByNomeContaining(name);
  106.  
  107.         // iterate a list and filter by tagName
  108.         for (Usuario usuario : usuarios) {
  109.             if (usuario.getNome().contains(name)) {
  110.                 result.add(usuario);
  111.             }
  112.         }
  113.  
  114.         return result;
  115.     }
  116.  
  117.    
  118. }
Advertisement
Add Comment
Please, Sign In to add comment