Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.20 KB | None | 0 0
  1. package ca.sheridancollege.servlets;
  2.  
  3. import ca.sheridancollege.beans.Book;
  4. import ca.sheridancollege.database.DatabaseAccess;
  5. import java.io.IOException;
  6. import java.io.PrintWriter;
  7. import javax.servlet.RequestDispatcher;
  8. import javax.servlet.ServletException;
  9. import javax.servlet.annotation.WebServlet;
  10. import javax.servlet.http.HttpServlet;
  11. import javax.servlet.http.HttpServletRequest;
  12. import javax.servlet.http.HttpServletResponse;
  13.  
  14. @WebServlet(name = "buyBooksServlet", urlPatterns = {"/buyBooksServlet"})
  15. public class buyBooksServlet extends HttpServlet {
  16.  
  17. public HttpServletRequest requestNew;
  18. public HttpServletResponse responseNew;
  19. //database access
  20. public DatabaseAccess database = new DatabaseAccess();
  21.  
  22. protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  23. throws ServletException, IOException {
  24. response.setContentType("text/html;charset=UTF-8");
  25. try (PrintWriter out = response.getWriter()) {
  26. }
  27. }
  28.  
  29. @Override
  30. protected void doPost(HttpServletRequest request, HttpServletResponse response)
  31. throws ServletException, IOException {
  32.  
  33. //setting request and response values into public variables
  34. requestNew = request;
  35. responseNew = response;
  36.  
  37. //campus data
  38. String campus = request.getParameter("campus");
  39.  
  40. //setting attributes for campus
  41. switch (campus) {
  42. case "davisBooks":
  43. request.setAttribute("campus", "Davis Book Store");
  44. break;
  45. case "hmcBooks":
  46. request.setAttribute("campus", "HMC Book Store");
  47. break;
  48. default:
  49. request.setAttribute("campus", "Trafalgar Book Store");
  50. break;
  51. }
  52.  
  53. //Books
  54. exists(database.getBook(Integer.parseInt(request.getParameter("id1")), campus), campus, Integer.parseInt(request.getParameter("amount1")), "1");
  55. exists(database.getBook(Integer.parseInt(request.getParameter("id2")), campus), campus, Integer.parseInt(request.getParameter("amount2")), "2");
  56. exists(database.getBook(Integer.parseInt(request.getParameter("id3")), campus), campus, Integer.parseInt(request.getParameter("amount3")), "3");
  57. exists(database.getBook(Integer.parseInt(request.getParameter("id4")), campus), campus, Integer.parseInt(request.getParameter("amount4")), "4");
  58. exists(database.getBook(Integer.parseInt(request.getParameter("id5")), campus), campus, Integer.parseInt(request.getParameter("amount5")), "5");
  59. //sending to jsp
  60. RequestDispatcher view = requestNew.getRequestDispatcher("boughtBook.jsp");
  61. view.forward(requestNew, responseNew);
  62. }
  63.  
  64. //gets an input book object
  65. public void exists(Book inputBook, String campus, int orderAmount, String bookNum) throws ServletException, IOException {
  66.  
  67. //error chcecking
  68. if (inputBook.getId() == 0) {
  69. //record doesnt exist
  70. RequestDispatcher view = requestNew.getRequestDispatcher("recordDoesntExist.jsp");
  71. view.forward(requestNew, responseNew);
  72. processRequest(requestNew, responseNew);
  73. } else if (inputBook.getQuantity() < orderAmount) {
  74. //not enough in the sotre to finish order
  75. RequestDispatcher view = requestNew.getRequestDispatcher("amountTooBig.jsp");
  76. view.forward(requestNew, responseNew);
  77. } else {
  78. inputBook.setQuantity(inputBook.getQuantity() - orderAmount);
  79. database.editRecord(inputBook.getId(), campus, inputBook.getName(), inputBook.getAuthor(), inputBook.getPrice(), inputBook.getQuantity(), inputBook.getRelatedCourses());
  80. double totalPrice = orderAmount * inputBook.getPrice();
  81.  
  82. //setting atttributes
  83. requestNew.setAttribute("buyingBook" + bookNum, inputBook);
  84. requestNew.setAttribute("amount" + bookNum, orderAmount);
  85. requestNew.setAttribute("price" + bookNum, totalPrice);
  86.  
  87. }
  88.  
  89. // return false;
  90. }
  91.  
  92. @Override
  93. public String getServletInfo() {
  94. return "Short description";
  95. }// </editor-fold>
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement