Guest User

Untitled

a guest
Jul 17th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.77 KB | None | 0 0
  1. import java.io.IOException;
  2. import java.io.PrintWriter;
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.Collection;
  6. import java.util.List;
  7. import java.util.Vector;
  8.  
  9. import javax.servlet.ServletException;
  10. import javax.servlet.http.Cookie;
  11. import javax.servlet.http.HttpServlet;
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpServletResponse;
  14.  
  15. import com.google.gson.Gson;
  16.  
  17. import basar.domain.BasarFacade;
  18. import basar.domain.BasarFactory;
  19. import basar.domain.Seller;
  20.  
  21. public class CashPointServlet extends HttpServlet {
  22.  
  23. private static final String CUSTOMERS_HISTORY_ACTION = "/history";
  24.  
  25. private static final String CUSTOMERS_ACTION = "/customers";
  26.  
  27. private static final String SAVE_CUSTOMER_ACTION = "/saveCustomer";
  28.  
  29. private static final String DELETE_CUSTOMER_ACTION = "/deleteCustomer";
  30.  
  31. private static final long serialVersionUID = 1L;
  32.  
  33. private Gson gson = new Gson();
  34.  
  35. private BasarFacade basar;
  36.  
  37. @Override
  38. public void init() throws ServletException {
  39. basar = BasarFactory.instance.createBasarFacade();
  40. }
  41.  
  42. @Override
  43. public void destroy() {
  44. basar = null;
  45. }
  46.  
  47. @Override
  48. protected void doPost(HttpServletRequest req, HttpServletResponse resp)
  49. throws ServletException, IOException {
  50. String path = req.getPathInfo();
  51. if (path.equals(SAVE_CUSTOMER_ACTION)) {
  52. saveCustomerAction(req, resp);
  53. }
  54. }
  55.  
  56. @Override
  57. protected void doGet(HttpServletRequest req, HttpServletResponse resp)
  58. throws ServletException, IOException {
  59. String path = req.getPathInfo();
  60. if (path.equals(CUSTOMERS_ACTION)) {
  61. getCustomersAction(req, resp);
  62. } else if (path.equals(CUSTOMERS_HISTORY_ACTION)) {
  63. getCustomersHistoryAction(req, resp);
  64. }
  65. }
  66.  
  67. @Override
  68. protected void doDelete(HttpServletRequest req, HttpServletResponse resp)
  69. throws ServletException, IOException {
  70. String path = req.getPathInfo();
  71. if (path.equals(DELETE_CUSTOMER_ACTION)) {
  72. deleteCustomerAction(req, resp);
  73. }
  74. }
  75.  
  76. /** Read a HTTP Cookie */
  77. protected void getCustomersHistoryAction(HttpServletRequest req,
  78. HttpServletResponse resp) throws IOException {
  79. Cookie sellerHistoryCookie = findHistoryCookie(req);
  80. if (sellerHistoryCookie != null) {
  81. List<Seller> sellers = fromJsonString(sellerHistoryCookie
  82. .getValue());
  83. for (Seller seller : sellers) {
  84. PrintWriter writer = resp.getWriter();
  85. writer.println(seller);
  86. }
  87. }
  88. }
  89.  
  90. /** Set and reset a Cookie */
  91. protected void writeHistory(HttpServletRequest req, HttpServletResponse resp, Seller seller) {
  92. Cookie sellerHistoryCookie = findHistoryCookie(req);
  93. if (sellerHistoryCookie == null) {
  94. List<Seller> sellerList = new Vector<Seller>();
  95. sellerList.add(seller);
  96. sellerHistoryCookie = new Cookie("sellerHistory", toJsonString(sellerList));
  97. }
  98. else {
  99. List<Seller> sellerList = fromJsonString(sellerHistoryCookie.getValue());
  100. sellerList.add(seller);
  101. sellerHistoryCookie.setValue(toJsonString(sellerList));
  102. }
  103. resp.addCookie(sellerHistoryCookie);
  104. }
  105.  
  106. protected Cookie findHistoryCookie(HttpServletRequest req) {
  107. Cookie[] cookies = req.getCookies();
  108. if (cookies != null) {
  109. for (Cookie cookie : cookies) {
  110. if (cookie.getName().equals("sellerHistory")) {
  111. return cookie;
  112. }
  113. }
  114. }
  115. return null;
  116. }
  117.  
  118. protected String toJsonString(List<Seller> sellerList) {
  119. return gson.toJson(sellerList);
  120. }
  121.  
  122. protected List<Seller> fromJsonString(String sellersJson) {
  123. Seller[] sellers = gson.fromJson(sellersJson, Seller[].class);
  124. List<Seller> sellerList = new ArrayList<Seller>();
  125. sellerList.addAll(Arrays.asList(sellers));
  126. return sellerList;
  127. }
  128.  
  129. protected void getCustomersAction(HttpServletRequest req,
  130. HttpServletResponse resp) throws IOException {
  131. Collection<Seller> sellerList = basar.getSellerList();
  132. Gson gson = new Gson();
  133. String json = gson.toJson(sellerList);
  134. resp.getWriter().append(json);
  135. }
  136.  
  137. protected void saveCustomerAction(HttpServletRequest req,
  138. HttpServletResponse resp) throws IOException {
  139. Long basarNumber = Long.valueOf(req.getParameter("basarNumber"));
  140. String firstName = req.getParameter("firstName");
  141. String lastName = req.getParameter("lastName");
  142. Seller seller = basar.getSeller(basarNumber);
  143. boolean isNewSeller = false;
  144. if (seller == null) {
  145. seller = new Seller();
  146. seller.setBasarNumber(basarNumber);
  147. isNewSeller = true;
  148. }
  149. seller.setName(lastName);
  150. seller.setFirstname(firstName);
  151. if (isNewSeller) {
  152. basar.insertSeller(seller);
  153. } else {
  154. basar.updateSeller(seller);
  155. }
  156. writeHistory(req, resp, seller);
  157. resp.sendRedirect("../customer-overview.html");
  158. }
  159.  
  160. protected void deleteCustomerAction(HttpServletRequest req,
  161. HttpServletResponse resp) {
  162. Long basarNumber = Long.valueOf(req.getParameter("basarNumber"));
  163. Seller seller = basar.getSeller(basarNumber);
  164. if (seller != null) {
  165. basar.deleteSeller(seller);
  166. }
  167. }
  168.  
  169. }
Add Comment
Please, Sign In to add comment