Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@
<version>4.0.1</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>

<build>
Expand Down
6 changes: 4 additions & 2 deletions src/main/java/mate/controller/IndexController.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@

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;

@WebServlet(urlPatterns = "/index")
public class IndexController extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.getRequestDispatcher("/WEB-INF/views/index.jsp").forward(req, resp);
req.getRequestDispatcher("/WEB-INF/views/index.jsp").forward(req,resp);
}
}
17 changes: 17 additions & 0 deletions src/main/java/mate/controller/SuccessController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package mate.controller;

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;

@WebServlet(urlPatterns = "/success")
public class SuccessController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.getRequestDispatcher("/WEB-INF/views/success.jsp").forward(req, resp);
}
}
52 changes: 52 additions & 0 deletions src/main/java/mate/controller/car/AddCarController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package mate.controller.car;

import java.io.IOException;
import java.util.ArrayList;
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.model.Driver;
import mate.model.Manufacturer;
import mate.service.CarService;
import mate.service.DriverService;
import mate.service.ManufacturerService;

@WebServlet(urlPatterns = "/cars/add")
public class AddCarController extends HttpServlet {
private static final Injector injector = Injector.getInstance("mate");
private final CarService carService =
(CarService) injector.getInstance(CarService.class);
private final ManufacturerService manufacturerService =
(ManufacturerService) injector.getInstance(ManufacturerService.class);
private final DriverService driverService =
(DriverService) injector.getInstance(DriverService.class);

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
List<Manufacturer> manufacturers = manufacturerService.getAll();
req.setAttribute("manufacturers", manufacturers);
List<Driver> drivers = driverService.getAll();
req.setAttribute("drivers", drivers);
req.getRequestDispatcher("/WEB-INF/views/cars/add.jsp").forward(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
Long id = Long.valueOf(req.getParameter("manufacturer"));
Car car = new Car();
Manufacturer manufacturer = manufacturerService.get(id);
car.setModel(req.getParameter("model"));
car.setManufacturer(manufacturer);
List<Driver> drivers = new ArrayList<>();
car.setDrivers(drivers);
carService.create(car);
resp.sendRedirect(req.getContextPath() + "/cars");
}
}
44 changes: 44 additions & 0 deletions src/main/java/mate/controller/car/AddDriverToCarController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
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.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 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 {
List<Car> cars = carService.getAll();
req.setAttribute("cars", cars);
List<Driver> drivers = driverService.getAll();
req.setAttribute("drivers", drivers);
req.getRequestDispatcher("/WEB-INF/views/cars/drivers/add.jsp").forward(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Long driverId = Long.valueOf(req.getParameter("driver_id"));
Long carId = Long.valueOf(req.getParameter("car_id"));
Driver driver = driverService.get(driverId);
Car car = carService.get(carId);
carService.addDriverToCar(driver, car);
resp.sendRedirect(req.getContextPath() + "/cars");
}
}
25 changes: 25 additions & 0 deletions src/main/java/mate/controller/car/DeleteCarController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
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("/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 id = Long.valueOf(req.getParameter("id"));
carService.delete(id);
resp.sendRedirect(req.getContextPath() + "/cars/all");
}
}
28 changes: 28 additions & 0 deletions src/main/java/mate/controller/car/GetAllByDriverController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
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 GetAllByDriverController 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 {
List<Car> cars = carService.getAll();
req.setAttribute("cars", cars);
req.getRequestDispatcher("/WEB-INF/views/cars/all.jsp")
.forward(req, resp);
}
}
39 changes: 39 additions & 0 deletions src/main/java/mate/controller/driver/CreateDriverController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
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 CreateDriverController 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 {
req.getRequestDispatcher("/WEB-INF/views/drivers/add.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);
resp.sendRedirect(req.getContextPath() + "/drivers");
}
}
25 changes: 25 additions & 0 deletions src/main/java/mate/controller/driver/DeleteDriverController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
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("/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 doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Long id = Long.valueOf(req.getParameter("id"));
driverService.delete(id);
resp.sendRedirect(req.getContextPath() + "/drivers");
}
}
27 changes: 27 additions & 0 deletions src/main/java/mate/controller/driver/GetAllDriverController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
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 GetAllDriverController 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 {
List<Driver> drivers = driverService.getAll();
req.setAttribute("drivers", drivers);
req.getRequestDispatcher("/WEB-INF/views/drivers/all.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 AddManufacturerController 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 {
req.getRequestDispatcher("/WEB-INF/views/manufacturers/add.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);
resp.sendRedirect(req.getContextPath() + "/success");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
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("/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 id = Long.valueOf(req.getParameter("id"));
manufacturerService.delete(id);
resp.sendRedirect(req.getContextPath() + "/manufacturers");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
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 GetAllManufacturerController 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 {
List<Manufacturer> manufacturers = manufacturerService.getAll();
req.setAttribute("manufacturers", manufacturers);
req.getRequestDispatcher("/WEB-INF/views/manufacturers/all.jsp")
.forward(req, resp);
}
}
Loading