Guest User

Untitled

a guest
Jan 25th, 2017
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.73 KB | None | 0 0
  1. package onlineRTVShop;
  2.  
  3. import static spark.Spark.*;
  4.  
  5. import java.sql.Timestamp;
  6. import java.time.LocalDateTime;
  7. import java.util.ArrayList;
  8. import java.util.HashMap;
  9. import java.util.Map;
  10.  
  11. import onlineRTVShop.model.User;
  12. import onlineRTVShop.DAO.UserDAO;
  13. import onlineRTVShop.service.UserService;
  14. import onlineRTVShop.DatabaseConnector;
  15. import spark.ModelAndView;
  16. import spark.template.velocity.VelocityTemplateEngine;
  17.  
  18. public class Main
  19. {
  20.  
  21.  
  22. public static void main(String[] args)
  23. {
  24. DatabaseConnector.connectWithBase();
  25. port(8013);
  26. staticFileLocation("/public");
  27. String layout = "templates/layout.vtl";
  28.  
  29.  
  30. get("/", (request, response) ->
  31. {
  32. Map<String, Object> model = new HashMap<String, Object>();
  33. model.put("user", request.session().attribute("user"));
  34.  
  35.  
  36. model.put("template", "templates/index.vtl");
  37. return new ModelAndView(model, layout);
  38.  
  39. }, new VelocityTemplateEngine());
  40.  
  41. get("/registerCompany", (request, response) ->
  42. {
  43. Map<String, Object> model = new HashMap<String, Object>();
  44. model.put("template", "templates/registerCompany.vtl");
  45. return new ModelAndView(model, layout);
  46. }, new VelocityTemplateEngine());
  47.  
  48. post("/registerCompany", (request, response) ->
  49. {
  50. Map<String, Object> model = new HashMap<String, Object>();
  51. Map<String, String> errors = new HashMap<String, String>();
  52. UserDAO userDAO = new UserDAO();
  53.  
  54. String login = request.queryParams("login");
  55. String password = request.queryParams("password");
  56. String repeatedPassword = request.queryParams("password2");
  57. String email = request.queryParams("email");
  58. String name = request.queryParams("name");
  59. String surname = request.queryParams("surname");
  60. String city=request.queryParams("city");
  61. String street=request.queryParams("street");
  62. String flatNumber=request.queryParams("flatNumber");
  63. String postalCode=request.queryParams("postalCode");
  64. String NIPnumber=request.queryParams("NIPnumber");
  65. String companyName=request.queryParams("companyName");
  66.  
  67. System.out.println(NIPnumber);
  68.  
  69. if(login!=null)
  70. {
  71. if(login.length()<4)
  72. errors.put("loginError", "Podany login jest za krotki - musi zawierac przynajmniej 4 znaki");
  73. else if(new UserDAO().checkIfUserExistsByLogin(login))
  74. errors.put("loginError", "Podany login jest zajety");
  75. else if(!login.matches("[a-zA-Z0-9]{4,}"))
  76. errors.put("loginError", "Login moze sie skadac z wielkich i malych liter oraz z cyfr od 0-9");
  77. if(password.length()<6)
  78. errors.put("passwordError", "Podane haslo jest za krotkie - musi zawierac przynajmniej 6 znakow");
  79. else if(!password.matches("[a-zA-Z0-9]{6,}"))
  80. errors.put("passwordError", "Haslo moze sie skadac z wielkich i malych liter oraz z cyfr od 0-9");
  81. if(!password.equals(repeatedPassword))
  82. errors.put("repeatedPasswordError", "Podane hasla sie nie zgadzaja");
  83. if(new UserDAO().checkIfUserExistsByEmail(email))
  84. errors.put("emailError", "Uzytkownik o podanym adresie e-mail juz istnieje");
  85. else if(!email.matches("[a-zA-Z0-9_\\-]+@[a-zA-Z]+\\.[a-zA-Z]+"))
  86. errors.put("emailError", "Podany adres e-mail jest niepoprawny");
  87. //obsluga bledow dla pozostalych atrybutow
  88.  
  89.  
  90.  
  91.  
  92.  
  93. if (errors.isEmpty())
  94. {
  95.  
  96.  
  97.  
  98. password=UserService.md5(password);
  99. long nip=Long.parseLong(NIPnumber);
  100.  
  101.  
  102. userDAO.addCompanyUser(login, password, email, name, surname, city, street, flatNumber, postalCode, nip, companyName);
  103.  
  104. User loggedUser = userDAO.getByLogin(login);
  105. request.session().attribute("user", loggedUser);
  106.  
  107.  
  108. model.put("user", request.session().attribute("user"));
  109. model.put("template", "templates/index.vtl");
  110. }
  111. else
  112. {
  113. model.putAll(errors);
  114. model.put("template", "templates/registerCompany.vtl");
  115. }
  116. }
  117. else
  118. {
  119. model.putAll(errors);
  120. model.put("template", "templates/registerCompany.vtl");
  121. }
  122.  
  123. return new ModelAndView(model, layout);
  124. }, new VelocityTemplateEngine());
  125.  
  126. get("/registerPrivate", (request, response) ->
  127. {
  128. Map<String, Object> model = new HashMap<String, Object>();
  129. model.put("template", "templates/registerPrivate.vtl");
  130. return new ModelAndView(model, layout);
  131. }, new VelocityTemplateEngine());
  132.  
  133. post("/registerPrivate", (request, response) ->
  134. {
  135. Map<String, Object> model = new HashMap<String, Object>();
  136. Map<String, String> errors = new HashMap<String, String>();
  137. UserDAO userDAO = new UserDAO();
  138.  
  139. String login = request.queryParams("login");
  140. String password = request.queryParams("password");
  141. String repeatedPassword = request.queryParams("password2");
  142. String email = request.queryParams("email");
  143. String name = request.queryParams("name");
  144. String surname = request.queryParams("surname");
  145. String city=request.queryParams("city");
  146. String street=request.queryParams("street");
  147. String flatNumber=request.queryParams("flatNumber");
  148. String postalCode=request.queryParams("postalCode");
  149.  
  150.  
  151. if(login!=null)
  152. {
  153. if(login.length()<4)
  154. errors.put("loginError", "Podany login jest za krotki - musi zawierac przynajmniej 4 znaki");
  155. else if(new UserDAO().checkIfUserExistsByLogin(login))
  156. errors.put("loginError", "Podany login jest zajety");
  157. else if(!login.matches("[a-zA-Z0-9]{4,}"))
  158. errors.put("loginError", "Login moze sie skadac z wielkich i malych liter oraz z cyfr od 0-9");
  159. if(password.length()<6)
  160. errors.put("passwordError", "Podane haslo jest za krotkie - musi zawierac przynajmniej 6 znakow");
  161. else if(!password.matches("[a-zA-Z0-9]{6,}"))
  162. errors.put("passwordError", "Haslo moze sie skadac z wielkich i malych liter oraz z cyfr od 0-9");
  163. if(!password.equals(repeatedPassword))
  164. errors.put("repeatedPasswordError", "Podane hasla sie nie zgadzaja");
  165. if(new UserDAO().checkIfUserExistsByEmail(email))
  166. errors.put("emailError", "Uzytkownik o podanym adresie e-mail juz istnieje");
  167. else if(!email.matches("[a-zA-Z0-9_\\-]+@[a-zA-Z]+\\.[a-zA-Z]+"))
  168. errors.put("emailError", "Podany adres e-mail jest niepoprawny");
  169. //obsluga bledow dla pozostalych atrybutow
  170.  
  171.  
  172.  
  173.  
  174.  
  175. if (errors.isEmpty())
  176. {
  177.  
  178.  
  179.  
  180. password=UserService.md5(password);
  181.  
  182.  
  183. userDAO.addPrivateUser(login, password, email, name, surname, city, street, flatNumber, postalCode);
  184.  
  185. User loggedUser = userDAO.getByLogin(login);
  186. request.session().attribute("user", loggedUser);
  187.  
  188.  
  189. model.put("user", request.session().attribute("user"));
  190. model.put("template", "templates/index.vtl");
  191. }
  192. else
  193. {
  194. model.putAll(errors);
  195. model.put("template", "templates/registerPrivate.vtl");
  196. }
  197. }
  198. else
  199. {
  200. model.putAll(errors);
  201. model.put("template", "templates/registerPrivate.vtl");
  202. }
  203.  
  204. return new ModelAndView(model, layout);
  205. }, new VelocityTemplateEngine());
  206.  
  207.  
  208. get("/terms", (request, response) ->
  209. {
  210. Map<String, Object> model = new HashMap<String, Object>();
  211. model.put("user", request.session().attribute("user"));
  212.  
  213.  
  214. model.put("template", "templates/terms.vtl");
  215. return new ModelAndView(model, layout);
  216. }, new VelocityTemplateEngine());
  217.  
  218.  
  219. get("/contact", (request, response) ->
  220. {
  221. Map<String, Object> model = new HashMap<String, Object>();
  222. model.put("user", request.session().attribute("user"));
  223.  
  224.  
  225. model.put("template", "templates/contact.vtl");
  226. return new ModelAndView(model, layout);
  227. }, new VelocityTemplateEngine());
  228.  
  229. post("/login", (request, response) ->
  230. {
  231. Map<String, Object> model = new HashMap<String, Object>();
  232.  
  233.  
  234. String login = request.queryParams("login");
  235. String password = UserService.md5(request.queryParams("password"));
  236. User loggedUser = new UserDAO().getByLogin(login);
  237.  
  238. if (loggedUser == null || !loggedUser.getPassword().equals(password))
  239. {
  240. model.put("loginError", "Login lub haslo niepoprawne");
  241. model.put("template", "templates/index.vtl");
  242.  
  243.  
  244. }
  245. else
  246. {
  247. request.session().attribute("user", loggedUser);
  248.  
  249. model.put("user", request.session().attribute("user"));
  250. model.put("template", "templates/index.vtl");
  251. }
  252.  
  253. return new ModelAndView(model, layout);
  254. }, new VelocityTemplateEngine());
  255.  
  256. get("/logout", (request, response) ->
  257. {
  258. Map<String, Object> model = new HashMap<String, Object>();
  259. request.session().removeAttribute("user");
  260. model.put("user", request.session().attribute("user"));
  261.  
  262. model.put("template", "templates/index.vtl");
  263. return new ModelAndView(model, layout);
  264. }, new VelocityTemplateEngine());
  265.  
  266. }
  267. }
Add Comment
Please, Sign In to add comment