AppCarController.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package pl.dmcs.mati.controller;
  2. import jakarta.servlet.http.HttpServlet;
  3. import jakarta.servlet.http.HttpServletRequest;
  4. import jakarta.validation.Valid;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.ui.Model;
  8. import org.springframework.validation.BindingResult;
  9. import org.springframework.web.bind.ServletRequestUtils;
  10. import org.springframework.web.bind.annotation.ModelAttribute;
  11. import org.springframework.web.bind.annotation.PathVariable;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RequestMethod;
  14. import org.springframework.web.servlet.ModelAndView;
  15. import pl.dmcs.mati.domain.AppCar;
  16. import pl.dmcs.mati.service.AppCarServiceImpl;
  17. import pl.dmcs.mati.service.AppCarService;
  18. import pl.dmcs.mati.validator.AppCarValidator;
  19. @Controller
  20. public class AppCarController {
  21. private AppCarValidator appCarValidator = new AppCarValidator();
  22. private AppCarService appCarService;
  23. @Autowired
  24. public AppCarController(AppCarService appCarService) {this.appCarService = appCarService; }
  25. @RequestMapping(value = "/appCars")
  26. public String showAppCars(Model model, HttpServletRequest request) {
  27. int appCarId = ServletRequestUtils.getIntParameter(request, "appCarId", -1);
  28. if (appCarId > 0) {
  29. model.addAttribute("appCar", appCarService.getAppCar(appCarId));
  30. } else
  31. model.addAttribute("appCar", new AppCar());
  32. model.addAttribute("appCarList", appCarService.listAppCar());
  33. return "appCar";
  34. }
  35. @RequestMapping("/appCarList")
  36. public String showAppCarLi5st(Model model) {
  37. model.addAttribute("appCarList", appCarService.listAppCar());
  38. return "appCarList";
  39. }
  40. @RequestMapping(value = "/addAppCar", method = RequestMethod.POST)
  41. public String addAppCar(@Valid @ModelAttribute("appCar") AppCar appCar, BindingResult result, Model model) {
  42. System.out.println("Brand : " + appCar.getBrandName() +
  43. " Model: " + appCar.getModelName() +
  44. " Body Type: " + appCar.getBodyType() +
  45. " Year of production: " + appCar.getProductionYear() +
  46. " Color: " + appCar.getCarColor() +
  47. " Fuel Type: " + appCar.getFuelType() +
  48. " Engine size: " + appCar.getEngineSize() +
  49. " Mileage: " + appCar.getMileage() +
  50. " Power: " + appCar.getPower() +
  51. " Vin: " + appCar.getVin() +
  52. " Price: " + appCar.getPrice() +
  53. " Picture: " + appCar.getPicture());
  54. appCarValidator.validate(appCar, result);
  55. if (result.getErrorCount() == 0) {
  56. if (appCar.getId() == 0)
  57. appCarService.addAppCar(appCar);
  58. else
  59. appCarService.editAppCar(appCar);
  60. return "redirect:appCars";
  61. }
  62. model.addAttribute("appCarList", appCarService.listAppCar());
  63. return "appCar";
  64. }
  65. @RequestMapping("/delete2/{appCarId}")
  66. public String deleteCar(@PathVariable("appCarId") Long appCarId) {
  67. appCarService.removeAppCar(appCarId);
  68. return "redirect:/appCars";
  69. }
  70. }