Advertisement
Guest User

task controller+

a guest
Apr 8th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.37 KB | None | 0 0
  1. package meisterTask.controllers;
  2.  
  3. import meisterTask.bindingModel.TaskBindingModel;
  4. import meisterTask.entities.Task;
  5. import meisterTask.repositories.TaskRepository;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.ui.Model;
  9. import org.springframework.web.bind.annotation.GetMapping;
  10. import org.springframework.web.bind.annotation.PathVariable;
  11. import org.springframework.web.bind.annotation.PostMapping;
  12. import org.springframework.web.servlet.ModelAndView;
  13.  
  14. import java.util.List;
  15. import java.util.stream.Collectors;
  16.  
  17. @Controller
  18. public class TaskController {
  19.     private final TaskRepository taskRepository;
  20.  
  21.     @Autowired
  22.     public TaskController(TaskRepository taskRepository) {
  23.         this.taskRepository = taskRepository;
  24.     }
  25.  
  26. //    @GetMapping("/")
  27. //    public ModelAndView index(ModelAndView modelAndView) {
  28. //
  29. ////        List<Task> openTasks = this.taskRepository.findAll().stream().
  30. ////                filter(e -> e.getStatus().equals("Open")).collect(Collectors.toList());
  31. ////
  32. ////        List<Task> inProgressTasks = this.taskRepository.findAll().stream().
  33. ////                filter(e -> e.getStatus().equals("In Progress")).collect(Collectors.toList());
  34. ////
  35. ////        List<Task> finishedTasks = this.taskRepository.findAll().stream().
  36. ////                filter(e -> e.getStatus().equals("Finished")).collect(Collectors.toList());
  37. //
  38. //        List<Task> openTasks = this.taskRepository.findAllByStatus("Open");
  39. //        List<Task> inProgressTasks = this.taskRepository.findAllByStatus("In Progress");
  40. //        List<Task> finishedTasks = this.taskRepository.findAllByStatus("Finished");
  41. //
  42. //        modelAndView.setViewName("base-layout");
  43. //        modelAndView.addObject("view", "task/index");
  44. //
  45. //        modelAndView.addObject("openTasks", openTasks);
  46. //        modelAndView.addObject("inProgressTasks", inProgressTasks);
  47. //        modelAndView.addObject("finishedTasks", finishedTasks);
  48. //
  49. //        return modelAndView;
  50. //    }
  51.  
  52.     @GetMapping("/")
  53.     public String index(Model model) {
  54.  
  55.         List<Task> openTasks = this.taskRepository.findAllByStatus("Open");
  56.         List<Task> inProgressTasks = this.taskRepository.findAllByStatus("In Progress");
  57.         List<Task> finishedTasks = this.taskRepository.findAllByStatus("Finished");
  58.  
  59.         model.addAttribute("view", "task/index");
  60.         model.addAttribute("openTasks", openTasks);
  61.         model.addAttribute("inProgressTasks", inProgressTasks);
  62.         model.addAttribute("finishedTasks", finishedTasks);
  63.  
  64.         return "base-layout";
  65.     }
  66.  
  67.     @GetMapping("/create")
  68.     public ModelAndView create(ModelAndView modelAndView) {
  69.         modelAndView.setViewName("base-layout");
  70.         modelAndView.addObject("view", "task/create");
  71.         return modelAndView;
  72.     }
  73.  
  74.     @PostMapping("/create")
  75.     public String create(Task task) {
  76.         this.taskRepository.saveAndFlush(task);
  77.         return "redirect:/";
  78.     }
  79.  
  80.     @GetMapping("/edit/{id}")
  81.     public ModelAndView edit(ModelAndView modelAndView, @PathVariable(value = "id") Integer id) {
  82.  
  83.         Task task = this.taskRepository.findById(id).get();
  84.  
  85.         modelAndView.setViewName("base-layout");
  86.         modelAndView.addObject("view", "task/edit");
  87.         modelAndView.addObject("task", task);
  88.         return modelAndView;
  89.     }
  90.  
  91.     @PostMapping("/edit/{id}")
  92.     public String edit(TaskBindingModel taskBindingModel, @PathVariable(value = "id") Integer id) {
  93.  
  94.         Task taskToEdit = this.taskRepository.findById(id).get();
  95.  
  96.         taskToEdit.setTitle(taskBindingModel.getTitle());
  97.         taskToEdit.setStatus(taskBindingModel.getStatus());
  98.  
  99.         this.taskRepository.saveAndFlush(taskToEdit);
  100.         return "redirect:/";
  101.     }
  102.  
  103.     @GetMapping("/delete/{id}")
  104.     public ModelAndView delete(ModelAndView modelAndView, @PathVariable(value = "id") Integer id) {
  105.  
  106.         Task task = this.taskRepository.findById(id).get();
  107.  
  108.         modelAndView.setViewName("base-layout");
  109.         modelAndView.addObject("view", "task/delete");
  110.         modelAndView.addObject("task", task);
  111.  
  112.         return modelAndView;
  113.     }
  114.  
  115.     @PostMapping("/delete/{id}")
  116.     public String delete(@PathVariable(value = "id") Integer id) {
  117.         this.taskRepository.deleteById(id);
  118.  
  119.         return "redirect:/";
  120.     }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement