Skip to content
Open
Show file tree
Hide file tree
Changes from 2 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
Binary file added .DS_Store
Binary file not shown.
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>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>

<build>
Expand Down
Binary file added src/.DS_Store
Binary file not shown.
Binary file added src/main/.DS_Store
Binary file not shown.
40 changes: 40 additions & 0 deletions src/main/java/mate/controller/AddDriverToCarController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
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;
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 DriverService driverService = (DriverService) injector
.getInstance(DriverService.class);

private final CarService carService = (CarService) injector.getInstance(CarService.class);

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.getRequestDispatcher(req.getContextPath()
+ "/WEB-INF/views/cars/drivers/add.jsp")
.forward(req,resp);
}

@Override
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);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's redirect here to a page where we can see changes applied

}
}
25 changes: 25 additions & 0 deletions src/main/java/mate/controller/DeleteCarController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
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;
import mate.lib.Injector;
import mate.service.DriverService;

@WebServlet(urlPatterns = "/cars/delete")
public class DeleteCarController 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 id = Long.valueOf(req.getParameter("id"));
driverService.delete(id);
resp.sendRedirect(req.getContextPath() + "/cars/all");
}
}
25 changes: 25 additions & 0 deletions src/main/java/mate/controller/DeleteDriverController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
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;
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
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Long id = Long.valueOf(req.getParameter("id"));
driverService.delete(id);
resp.sendRedirect(req.getContextPath() + "/drivers/all");
}
}
25 changes: 25 additions & 0 deletions src/main/java/mate/controller/DeleteManufacturerController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
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;
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/all");
}
}
18 changes: 18 additions & 0 deletions src/main/java/mate/controller/GetAllCarsController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
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 = "/cars")
public class GetAllCarsController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.getRequestDispatcher(req.getContextPath() + "/WEB-INF/views/cars/all.jsp")
.forward(req,resp);
}
}
18 changes: 18 additions & 0 deletions src/main/java/mate/controller/GetAllDriversController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
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 = "/drivers")
public class GetAllDriversController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.getRequestDispatcher(req.getContextPath() + "/WEB-INF/views/drivers/all.jsp")
.forward(req,resp);
}
}
27 changes: 27 additions & 0 deletions src/main/java/mate/controller/GetAllManufacturersController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package mate.controller;

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 final ManufacturerService manufacturerService
= (ManufacturerService) injector.getInstance(ManufacturerService.class);

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
List<Manufacturer> manufacturerList = manufacturerService.getAll();
req.setAttribute("manufacturers", manufacturerList);
req.getRequestDispatcher("/WEB-INF/views/manufacturers/all.jsp").forward(req, resp);
}
}
40 changes: 40 additions & 0 deletions src/main/java/mate/controller/NewCarController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
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;
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 NewCarController 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);

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.getRequestDispatcher("/WEB-INF/views/cars/add.jsp").forward(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String model = req.getParameter("Model");
Long manufacturer = Long.valueOf(req.getParameter("ManufacturerID"));
Manufacturer manufacture = manufacturerService.get(manufacturer);
carService.create(new Car(model, manufacture));
resp.sendRedirect(req.getContextPath() + "/cars/all");

}
}
38 changes: 38 additions & 0 deletions src/main/java/mate/controller/NewDriverController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
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;
import mate.lib.Injector;
import mate.model.Driver;
import mate.service.DriverService;
import mate.service.ManufacturerService;

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

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.getRequestDispatcher(req.getContextPath() + ("/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("licenseNumber");
driverService.create(new Driver(name, licenseNumber));
resp.sendRedirect(req.getContextPath() + "/drivers/all");
}
}
34 changes: 34 additions & 0 deletions src/main/java/mate/controller/NewManufacturerController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
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;
import mate.lib.Injector;
import mate.model.Manufacturer;
import mate.service.ManufacturerService;

@WebServlet(urlPatterns = "/manufacturers/add")
public class NewManufacturerController 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(name,country);
manufacturerService.create(manufacturer);
resp.sendRedirect(req.getContextPath() + " ");
}
}
10 changes: 10 additions & 0 deletions src/main/java/mate/model/Car.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package mate.model;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

Expand All @@ -9,6 +10,15 @@ public class Car {
private Manufacturer manufacturer;
private List<Driver> drivers;

public Car() {
}

public Car(String model, Manufacturer manufacturer) {
this.model = model;
this.manufacturer = manufacturer;
this.drivers = new ArrayList<>();
}

public Long getId() {
return id;
}
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/mate/model/Driver.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ public class Driver {
private String name;
private String licenseNumber;

public Driver(String name, String licenseNumber) {
this.name = name;
this.licenseNumber = licenseNumber;
}

public Driver() {
}

public Long getId() {
return id;
}
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/mate/model/Manufacturer.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ public class Manufacturer {
private String name;
private String country;

public Manufacturer(String name, String country) {
this.name = name;
this.country = country;
}

public Manufacturer() {
}

public Long getId() {
return id;
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/mate/util/ConnectionUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
import java.util.Properties;

public class ConnectionUtil {
private static final String URL = "YOUR DATABASE URL";
private static final String USERNAME = "YOUR USERNAME";
private static final String PASSWORD = "YOUR PASSWORD";
private static final String JDBC_DRIVER = "YOUR DRIVER";
private static final String URL = "jdbc:mysql://localhost:3306/taxi?serverTimezone=UTC";
private static final String USERNAME = "root";
private static final String PASSWORD = "1234567890";
private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";

static {
try {
Expand Down
Loading