diff --git a/src/main/java/com/s3ai/controllers/tickets/TicketsEdit.java b/src/main/java/com/s3ai/controllers/tickets/TicketsEdit.java new file mode 100644 index 0000000000000000000000000000000000000000..e5e32546579bcbace3b29feb5b8c8446268c2660 --- /dev/null +++ b/src/main/java/com/s3ai/controllers/tickets/TicketsEdit.java @@ -0,0 +1,66 @@ +package com.s3ai.controllers.tickets; + +import com.s3ai.entities.Ticket; +import com.s3ai.services.CinemaService; +import com.s3ai.services.TicketService; +import com.s3ai.services.UserService; + +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.util.UUID; + +public class TicketsEdit extends HttpServlet { + TicketService ticketService = TicketService.getInstance(); + CinemaService cinemaService = CinemaService.getInstance(); + UserService userService = UserService.getInstance(); + + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + Ticket ticket = null; + String id = req.getParameter("id"); + String userId = req.getParameter("userId") == null ? "" : req.getParameter("userId"); + String cinemaId = req.getParameter("cinemaId") == null ? "" : req.getParameter("cinemaId"); + String movie = req.getParameter("movie") == null ? "" : req.getParameter("movie"); + + var user = userService.getUserById(UUID.fromString(userId)); + var cinema = cinemaService.getCinemaById(UUID.fromString(cinemaId)); + + if (null == user){ + resp.sendError(500, "Invalid userId"); + } + + if (null == cinema){ + resp.sendError(500, "Invalid cinemaId"); + } + + if (null == id) { + ticket = new Ticket(); + ticket.setId(UUID.randomUUID()); + ticketService.fillTicketFields(ticket, user, cinema, movie); + ticketService.saveTicket(ticket); + } else { + ticket = ticketService.getTicketById(UUID.fromString(id)); + ticketService.fillTicketFields(ticket, user, cinema, movie); + ticketService.saveTicket(ticket); + } + resp.sendRedirect("/tickets"); + } + + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + HttpSession session = req.getSession(); + String idToEdit = req.getParameter("id"); + Ticket ticket = null; + RequestDispatcher dispatcher = req.getRequestDispatcher("/pages/tickets/edit.jsp"); + if (idToEdit != null) { + ticket = ticketService.getTicketById(UUID.fromString(idToEdit)); + } else { + ticket = new Ticket(); + } + session.setAttribute("ticket", ticket); + dispatcher.forward(req, resp); + } +} diff --git a/src/main/java/com/s3ai/controllers/tickets/TicketsFill.java b/src/main/java/com/s3ai/controllers/tickets/TicketsFill.java new file mode 100644 index 0000000000000000000000000000000000000000..af1768bd5cac602b959168c421830c8e77937cfa --- /dev/null +++ b/src/main/java/com/s3ai/controllers/tickets/TicketsFill.java @@ -0,0 +1,47 @@ +package com.s3ai.controllers.tickets; + +import com.s3ai.entities.Ticket; +import com.s3ai.services.CinemaService; +import com.s3ai.services.TicketService; +import com.s3ai.services.UserService; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.Random; + +public class TicketsFill extends HttpServlet { + TicketService ticketService = TicketService.getInstance(); + UserService userService = UserService.getInstance(); + CinemaService cinemaService = CinemaService.getInstance(); + + private String[] wordsFirst = new String[] {"Pirates", "Ladies", "Goblins", "Gangsters", "Programmers", "Hackers", "Wrestlers", "Animals", "Guardians"}; + private String[] wordsSecond = new String[] {"of the", "in", "from"}; + private String[] wordsThird = new String[] {"Galaxy", "America", "Russia", "Japan", "Ocean", "Deep", "Caribbean", "Matrix", "Internet", "Woods", "Caves"}; + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + var users = userService.getAllUsers(); + var cinemas = cinemaService.getAllCinemas(); + + var writer = response.getWriter(); + writer.println("FILLED Instances:"); + var random = new Random(); + for (int i = 0; i < 300; i++) { + var ticket = new Ticket(); + ticketService.fillTicketFields(ticket, users.get(random.nextInt(users.size())), cinemas.get(random.nextInt(cinemas.size())), randomMovieName()); + ticketService.saveTicket(ticket); + writer.println(ticket); + } + } + + private String randomMovieName() { + var random = new Random(); + return String.format("%s %s %s", wordsFirst[random.nextInt(wordsFirst.length)], wordsSecond[random.nextInt(wordsSecond.length)], wordsThird[random.nextInt(wordsThird.length)]); + } +} diff --git a/src/main/java/com/s3ai/controllers/tickets/TicketsList.java b/src/main/java/com/s3ai/controllers/tickets/TicketsList.java index 9e8da3ab2857dbb0fd1aa8be838f6b5c26190127..7fd92494b7b091e11c14fb85eb3ab934202ab853 100644 --- a/src/main/java/com/s3ai/controllers/tickets/TicketsList.java +++ b/src/main/java/com/s3ai/controllers/tickets/TicketsList.java @@ -1,4 +1,28 @@ package com.s3ai.controllers.tickets; +import com.s3ai.entities.Ticket; +import com.s3ai.services.TicketService; + +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.UUID; + public class TicketsList { + private TicketService ticketService = TicketService.getInstance(); + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + String id = request.getReader().readLine(); + Ticket ticket = ticketService.getTicketById(UUID.fromString(id)); + ticketService.deleteTicket(ticket); + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + System.out.println("doGet"); + RequestDispatcher dispatcher = request.getRequestDispatcher("pages/tickets/list.jsp"); + request.getSession().setAttribute("tickets", ticketService.getAllTickets()); + dispatcher.forward(request, response); + } } diff --git a/src/main/java/com/s3ai/controllers/tickets/TicketsUpdate.java b/src/main/java/com/s3ai/controllers/tickets/TicketsUpdate.java deleted file mode 100644 index 35d08a4ff39207d65cb7bf88e074a5c39786c811..0000000000000000000000000000000000000000 --- a/src/main/java/com/s3ai/controllers/tickets/TicketsUpdate.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.s3ai.controllers.tickets; - -public class TicketsUpdate { -} diff --git a/src/main/java/com/s3ai/controllers/users/UsersEdit.java b/src/main/java/com/s3ai/controllers/users/UsersEdit.java new file mode 100644 index 0000000000000000000000000000000000000000..3b6ebce11cd2ecba63b635b78ed5fea3c423db86 --- /dev/null +++ b/src/main/java/com/s3ai/controllers/users/UsersEdit.java @@ -0,0 +1,49 @@ +package com.s3ai.controllers.users; + +import com.s3ai.entities.User; +import com.s3ai.services.UserService; + +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.util.UUID; + +public class UsersEdit extends HttpServlet { + UserService userService = UserService.getInstance(); + + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + String id = req.getParameter("id"); + User user = null; + String name = req.getParameter("name") == null ? "" : req.getParameter("name"); + Integer age = Integer.parseInt(req.getParameter("age") == null ? "" : req.getParameter("age")); + if (null == id) { + user = new User(); + user.setId(UUID.randomUUID()); + userService.fillUserFields(user, name, age); + userService.saveUser(user); + } else { + user = userService.getUserById(UUID.fromString(id)); + userService.fillUserFields(user, name, age); + userService.saveUser(user); + } + resp.sendRedirect("/users"); + } + + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + HttpSession session = req.getSession(); + String idToEdit = req.getParameter("id"); + User user = null; + RequestDispatcher dispatcher = req.getRequestDispatcher("/pages/users/edit.jsp"); + if (idToEdit != null) { + user = userService.getUserById(UUID.fromString(idToEdit)); + } else { + user = new User(); + } + session.setAttribute("user", user); + dispatcher.forward(req, resp); + } +} diff --git a/src/main/java/com/s3ai/controllers/users/UsersFill.java b/src/main/java/com/s3ai/controllers/users/UsersFill.java new file mode 100644 index 0000000000000000000000000000000000000000..9c32ed5cba2274beac58dfe8b9ea18e7527249ed --- /dev/null +++ b/src/main/java/com/s3ai/controllers/users/UsersFill.java @@ -0,0 +1,39 @@ +package com.s3ai.controllers.users; + +import com.s3ai.entities.User; +import com.s3ai.services.UserService; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.Random; + +public class UsersFill extends HttpServlet { + UserService userService = UserService.getInstance(); + + private String[] names = new String[] {"Jane", "Mary", "Paul", "Jason", "Keanu", "Andrew", "Joseph", "Jotaro", "Ivan", "Jolyne", "Walther"}; + private String[] surnames = new String[] {"Doe", "Reeves", "Statham", "Bourne", "Joestar", "Kujoh", "White", "Van Hallen", "Black", "Smith"}; + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + var writer = response.getWriter(); + writer.println("FILLED Instances:"); + var random = new Random(); + for (int i = 0; i < 300; i++) { + var user = new User(); + userService.fillUserFields(user, randomName(), random.nextInt(60) + 10); + userService.saveUser(user); + writer.println(user); + } + } + + private String randomName() { + var random = new Random(); + return String.format("%s %s", names[random.nextInt(names.length)], surnames[random.nextInt(surnames.length)]); + } +} diff --git a/src/main/java/com/s3ai/controllers/users/UsersList.java b/src/main/java/com/s3ai/controllers/users/UsersList.java index 22330efb0cdd073231ba465853765ee1cb3f3b51..7a8094de65bf8d022f0691ff9c62c83847e46d39 100644 --- a/src/main/java/com/s3ai/controllers/users/UsersList.java +++ b/src/main/java/com/s3ai/controllers/users/UsersList.java @@ -1,4 +1,29 @@ package com.s3ai.controllers.users; -public class UsersList { +import com.s3ai.entities.User; +import com.s3ai.services.UserService; + +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.UUID; + +public class UsersList extends HttpServlet { + private UserService userService = UserService.getInstance(); + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + String id = request.getReader().readLine(); + User user = userService.getUserById(UUID.fromString(id)); + userService.deleteUser(user); + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + System.out.println("doGet"); + RequestDispatcher dispatcher = request.getRequestDispatcher("pages/users/list.jsp"); + request.getSession().setAttribute("users", userService.getAllUsers()); + dispatcher.forward(request, response); + } } diff --git a/src/main/java/com/s3ai/controllers/users/UsersUpdate.java b/src/main/java/com/s3ai/controllers/users/UsersUpdate.java deleted file mode 100644 index 281cbbf1a33d7382872afabdd0a699c9f306d51c..0000000000000000000000000000000000000000 --- a/src/main/java/com/s3ai/controllers/users/UsersUpdate.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.s3ai.controllers.users; - -public class UsersUpdate { -}