-
Notifications
You must be signed in to change notification settings - Fork 616
web-practice. Pochtalon #650
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| package mate.controller.car; | ||
|
|
||
| import java.io.IOException; | ||
| import javax.servlet.ServletException; | ||
| import javax.servlet.annotation.WebServlet; | ||
| import javax.servlet.http.HttpServlet; | ||
| import javax.servlet.http.HttpServletRequest; | ||
| import javax.servlet.http.HttpServletResponse; | ||
| import mate.lib.Injector; | ||
| import mate.model.Car; | ||
| import mate.model.Driver; | ||
| import mate.service.CarService; | ||
| import mate.service.DriverService; | ||
|
|
||
| @WebServlet(urlPatterns = "/cars/drivers/add") | ||
| public class AddDriverToCarController extends HttpServlet { | ||
| private static final Injector INJECTOR = Injector.getInstance("mate"); | ||
| private static final String ADD_Driver_TO_CAR_JSP = "/WEB-INF/views/car/addDriverToCar.jsp"; | ||
| private final CarService carService = (CarService) INJECTOR.getInstance(CarService.class); | ||
| private final DriverService driverService = | ||
| (DriverService) INJECTOR.getInstance(DriverService.class); | ||
|
|
||
| @Override | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| req.getRequestDispatcher(ADD_Driver_TO_CAR_JSP).forward(req, resp); | ||
| } | ||
|
|
||
| protected void doPost(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| Long carID = Long.valueOf(req.getParameter("car_id")); | ||
| Long driverID = Long.valueOf(req.getParameter("driver_id")); | ||
| Car car = carService.get(carID); | ||
| Driver driver = driverService.get(driverID); | ||
| carService.addDriverToCar(driver, car); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| package mate.controller.car; | ||
|
|
||
| import java.io.IOException; | ||
| import javax.servlet.ServletException; | ||
| import javax.servlet.annotation.WebServlet; | ||
| import javax.servlet.http.HttpServlet; | ||
| import javax.servlet.http.HttpServletRequest; | ||
| import javax.servlet.http.HttpServletResponse; | ||
| import mate.lib.Injector; | ||
| import mate.service.CarService; | ||
|
|
||
| @WebServlet(urlPatterns = "/cars/delete") | ||
| public class DeleteCarController extends HttpServlet { | ||
| private static final Injector INJECTOR = Injector.getInstance("mate"); | ||
| private final CarService carService = (CarService) INJECTOR.getInstance(CarService.class); | ||
|
|
||
| @Override | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| Long carID = Long.valueOf(req.getParameter("id")); | ||
| carService.delete(carID); | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| package mate.controller.car; | ||
|
|
||
| import java.io.IOException; | ||
| import java.util.List; | ||
| import javax.servlet.ServletException; | ||
| import javax.servlet.annotation.WebServlet; | ||
| import javax.servlet.http.HttpServlet; | ||
| import javax.servlet.http.HttpServletRequest; | ||
| import javax.servlet.http.HttpServletResponse; | ||
| import mate.lib.Injector; | ||
| import mate.model.Car; | ||
| import mate.service.CarService; | ||
|
|
||
| @WebServlet(urlPatterns = "/cars") | ||
| public class GetAllCarsController extends HttpServlet { | ||
| private static final Injector INJECTOR = Injector.getInstance("mate"); | ||
| private static final String ALL_CARS_JSP = "/WEB-INF/views/car/allCars.jsp"; | ||
| private final CarService carService = (CarService) INJECTOR.getInstance(CarService.class); | ||
|
|
||
| @Override | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| List<Car> allCars = carService.getAll(); | ||
| req.setAttribute("cars", allCars); | ||
| req.getRequestDispatcher(ALL_CARS_JSP).forward(req, resp); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| package mate.controller.car; | ||
|
|
||
| import java.io.IOException; | ||
| import java.util.Collections; | ||
| import javax.servlet.ServletException; | ||
| import javax.servlet.annotation.WebServlet; | ||
| import javax.servlet.http.HttpServlet; | ||
| import javax.servlet.http.HttpServletRequest; | ||
| import javax.servlet.http.HttpServletResponse; | ||
| import mate.lib.Injector; | ||
| import mate.model.Car; | ||
| import mate.model.Manufacturer; | ||
| import mate.service.CarService; | ||
| import mate.service.ManufacturerService; | ||
|
|
||
| @WebServlet(urlPatterns = "/cars/add") | ||
| public class RegistrationCarController extends HttpServlet { | ||
| private static final Injector INJECTOR = Injector.getInstance("mate"); | ||
| private static final String ADD_CAR_JSP = "/WEB-INF/views/car/addCar.jsp"; | ||
| private final CarService carService = (CarService) INJECTOR.getInstance(CarService.class); | ||
| private final ManufacturerService manufacturerService = | ||
| (ManufacturerService) INJECTOR.getInstance(ManufacturerService.class); | ||
|
|
||
| @Override | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| req.getRequestDispatcher(ADD_CAR_JSP).forward(req, resp); | ||
| } | ||
|
|
||
| protected void doPost(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| String model = req.getParameter("model"); | ||
| String manufacturerID = req.getParameter("manufacturer_id"); | ||
| Manufacturer manufacturer = manufacturerService.get(Long.valueOf(manufacturerID)); | ||
| Car car = new Car(); | ||
| car.setModel(model); | ||
| car.setManufacturer(manufacturer); | ||
| car.setDrivers(Collections.emptyList()); | ||
| carService.create(car); | ||
| } | ||
|
Comment on lines
+39
to
+41
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same here |
||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| package mate.controller.driver; | ||
|
|
||
| import java.io.IOException; | ||
| import javax.servlet.ServletException; | ||
| import javax.servlet.annotation.WebServlet; | ||
| import javax.servlet.http.HttpServlet; | ||
| import javax.servlet.http.HttpServletRequest; | ||
| import javax.servlet.http.HttpServletResponse; | ||
| import mate.lib.Injector; | ||
| import mate.service.DriverService; | ||
|
|
||
| @WebServlet(urlPatterns = "/drivers/delete") | ||
| public class DeleteDriverController extends HttpServlet { | ||
| private static final Injector INJECTOR = Injector.getInstance("mate"); | ||
| private final DriverService driverService = | ||
| (DriverService) INJECTOR.getInstance(DriverService.class); | ||
|
|
||
| @Override | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| Long driverID = Long.valueOf(req.getParameter("id")); | ||
| driverService.delete(driverID); | ||
| } | ||
|
Comment on lines
+22
to
+24
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same |
||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| package mate.controller.driver; | ||
|
|
||
| import java.io.IOException; | ||
| import java.util.List; | ||
| import javax.servlet.ServletException; | ||
| import javax.servlet.annotation.WebServlet; | ||
| import javax.servlet.http.HttpServlet; | ||
| import javax.servlet.http.HttpServletRequest; | ||
| import javax.servlet.http.HttpServletResponse; | ||
| import mate.lib.Injector; | ||
| import mate.model.Driver; | ||
| import mate.service.DriverService; | ||
|
|
||
| @WebServlet(urlPatterns = "/drivers") | ||
| public class GetAllDriversController extends HttpServlet { | ||
| private static final Injector INJECTOR = Injector.getInstance("mate"); | ||
| private static final String ALL_DRIVERS_JSP = "/WEB-INF/views/driver/allDrivers.jsp"; | ||
| private final DriverService driverService = | ||
| (DriverService) INJECTOR.getInstance(DriverService.class); | ||
|
|
||
| @Override | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| List<Driver> allDrivers = driverService.getAll(); | ||
| req.setAttribute("drivers", allDrivers); | ||
| req.getRequestDispatcher(ALL_DRIVERS_JSP).forward(req, resp); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| package mate.controller.driver; | ||
|
|
||
| import java.io.IOException; | ||
| import javax.servlet.ServletException; | ||
| import javax.servlet.annotation.WebServlet; | ||
| import javax.servlet.http.HttpServlet; | ||
| import javax.servlet.http.HttpServletRequest; | ||
| import javax.servlet.http.HttpServletResponse; | ||
| import mate.lib.Injector; | ||
| import mate.model.Driver; | ||
| import mate.service.DriverService; | ||
|
|
||
| @WebServlet(urlPatterns = "/drivers/add") | ||
| public class RegistrationDriverController extends HttpServlet { | ||
| private static final Injector INJECTOR = Injector.getInstance("mate"); | ||
| private static final String ADD_DRIVER_JSP = "/WEB-INF/views/driver/addDriver.jsp"; | ||
| private final DriverService driverService = | ||
| (DriverService) INJECTOR.getInstance(DriverService.class); | ||
|
|
||
| @Override | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| req.getRequestDispatcher(ADD_DRIVER_JSP).forward(req, resp); | ||
| } | ||
|
|
||
| @Override | ||
| protected void doPost(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| String name = req.getParameter("name"); | ||
| String licenseNumber = req.getParameter("license_number"); | ||
| Driver driver = new Driver(); | ||
| driver.setName(name); | ||
| driver.setLicenseNumber(licenseNumber); | ||
| driverService.create(driver); | ||
| } | ||
|
Comment on lines
+34
to
+36
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. After creating a new driver, you could redirect to the list of drivers or display a success message. |
||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| package mate.controller.manufacturer; | ||
|
|
||
| import java.io.IOException; | ||
| import javax.servlet.ServletException; | ||
| import javax.servlet.annotation.WebServlet; | ||
| import javax.servlet.http.HttpServlet; | ||
| import javax.servlet.http.HttpServletRequest; | ||
| import javax.servlet.http.HttpServletResponse; | ||
| import mate.lib.Injector; | ||
| import mate.service.ManufacturerService; | ||
|
|
||
| @WebServlet(urlPatterns = "/manufacturers/delete") | ||
| public class DeleteManufacturerController extends HttpServlet { | ||
| private static final Injector INJECTOR = Injector.getInstance("mate"); | ||
| private final ManufacturerService manufacturerService = | ||
| (ManufacturerService) INJECTOR.getInstance(ManufacturerService.class); | ||
|
|
||
| @Override | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| Long manufacturerID = Long.valueOf(req.getParameter("id")); | ||
| manufacturerService.delete(manufacturerID); | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. After the deletion of the manufacturer, there is no redirection or response being sent to the client. You should redirect to a confirmation or another relevant page. |
||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| package mate.controller.manufacturer; | ||
|
|
||
| import java.io.IOException; | ||
| import java.util.List; | ||
| import javax.servlet.ServletException; | ||
| import javax.servlet.annotation.WebServlet; | ||
| import javax.servlet.http.HttpServlet; | ||
| import javax.servlet.http.HttpServletRequest; | ||
| import javax.servlet.http.HttpServletResponse; | ||
| import mate.lib.Injector; | ||
| import mate.model.Manufacturer; | ||
| import mate.service.ManufacturerService; | ||
|
|
||
| @WebServlet(urlPatterns = "/manufacturers") | ||
| public class GetAllManufacturersController extends HttpServlet { | ||
| private static final Injector INJECTOR = Injector.getInstance("mate"); | ||
| private static final String ALL_MANUFACTURERS_JSP = | ||
| "/WEB-INF/views/manufacturer/allManufacturers.jsp"; | ||
| private final ManufacturerService manufacturerService = | ||
| (ManufacturerService) INJECTOR.getInstance(ManufacturerService.class); | ||
|
|
||
| @Override | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| List<Manufacturer> allManufacturers = manufacturerService.getAll(); | ||
| req.setAttribute("manufacturers", allManufacturers); | ||
| req.getRequestDispatcher(ALL_MANUFACTURERS_JSP).forward(req, resp); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| package mate.controller.manufacturer; | ||
|
|
||
| import java.io.IOException; | ||
| import javax.servlet.ServletException; | ||
| import javax.servlet.annotation.WebServlet; | ||
| import javax.servlet.http.HttpServlet; | ||
| import javax.servlet.http.HttpServletRequest; | ||
| import javax.servlet.http.HttpServletResponse; | ||
| import mate.lib.Injector; | ||
| import mate.model.Manufacturer; | ||
| import mate.service.ManufacturerService; | ||
|
|
||
| @WebServlet(urlPatterns = "/manufacturers/add") | ||
| public class RegistrationManufacturerController extends HttpServlet { | ||
| private static final Injector INJECTOR = Injector.getInstance("mate"); | ||
| private static final String ADD_MANUFACTURER_JSP = | ||
| "/WEB-INF/views/manufacturer/addManufacturer.jsp"; | ||
| private final ManufacturerService manufacturerService = | ||
| (ManufacturerService) INJECTOR.getInstance(ManufacturerService.class); | ||
|
|
||
| @Override | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| req.getRequestDispatcher(ADD_MANUFACTURER_JSP).forward(req, resp); | ||
| } | ||
|
|
||
| @Override | ||
| protected void doPost(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| String name = req.getParameter("name"); | ||
| String country = req.getParameter("country"); | ||
| Manufacturer manufacturer = new Manufacturer(); | ||
| manufacturer.setName(name); | ||
| manufacturer.setCountry(country); | ||
| manufacturerService.create(manufacturer); | ||
| } | ||
|
Comment on lines
+35
to
+37
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same |
||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| <%@ page contentType="text/html;charset=UTF-8" language="java" %> | ||
| <html> | ||
| <head> | ||
| <title>Car registration</title> | ||
| </head> | ||
| <body> | ||
| <h1>Please, fill the form with car's data</h1> | ||
|
|
||
| <form method="post" action="${pageContext.request.contextPath}/cars/add"> | ||
| Model <input type="text" name="model"><br> | ||
| Manufacturer ID <input type="text" name="manufacturer_id"><br> | ||
| <button type="submit">Add car</button> | ||
| </form> | ||
| </body> | ||
| </html> |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| <%@ page contentType="text/html;charset=UTF-8" language="java" %> | ||
| <html> | ||
| <head> | ||
| <title>Adding Driver to Car</title> | ||
| </head> | ||
| <body> | ||
| <h1>Please, fill the form for adding driver</h1> | ||
|
|
||
| <form method="post" action="${pageContext.request.contextPath}/cars/drivers/add"> | ||
| Car ID <input type="text" name="car_id"><br> | ||
| Driver ID <input type="text" name="driver_id"><br> | ||
| <button type="submit">Add driver</button> | ||
| </form> | ||
| </body> | ||
| </html> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After deleting the car, it would be good to redirect the user to a confirmation page or back to the list of cars.