Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package onlineRTVShop;
- import static spark.Spark.*;
- import java.sql.Timestamp;
- import java.time.LocalDateTime;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Map;
- import onlineRTVShop.model.User;
- import onlineRTVShop.DAO.UserDAO;
- import onlineRTVShop.service.UserService;
- import onlineRTVShop.DatabaseConnector;
- import spark.ModelAndView;
- import spark.template.velocity.VelocityTemplateEngine;
- public class Main
- {
- public static void main(String[] args)
- {
- DatabaseConnector.connectWithBase();
- port(8013);
- staticFileLocation("/public");
- String layout = "templates/layout.vtl";
- get("/", (request, response) ->
- {
- Map<String, Object> model = new HashMap<String, Object>();
- model.put("user", request.session().attribute("user"));
- model.put("template", "templates/index.vtl");
- return new ModelAndView(model, layout);
- }, new VelocityTemplateEngine());
- get("/registerCompany", (request, response) ->
- {
- Map<String, Object> model = new HashMap<String, Object>();
- model.put("template", "templates/registerCompany.vtl");
- return new ModelAndView(model, layout);
- }, new VelocityTemplateEngine());
- post("/registerCompany", (request, response) ->
- {
- Map<String, Object> model = new HashMap<String, Object>();
- Map<String, String> errors = new HashMap<String, String>();
- UserDAO userDAO = new UserDAO();
- String login = request.queryParams("login");
- String password = request.queryParams("password");
- String repeatedPassword = request.queryParams("password2");
- String email = request.queryParams("email");
- String name = request.queryParams("name");
- String surname = request.queryParams("surname");
- String city=request.queryParams("city");
- String street=request.queryParams("street");
- String flatNumber=request.queryParams("flatNumber");
- String postalCode=request.queryParams("postalCode");
- String NIPnumber=request.queryParams("NIPnumber");
- String companyName=request.queryParams("companyName");
- System.out.println(NIPnumber);
- if(login!=null)
- {
- if(login.length()<4)
- errors.put("loginError", "Podany login jest za krotki - musi zawierac przynajmniej 4 znaki");
- else if(new UserDAO().checkIfUserExistsByLogin(login))
- errors.put("loginError", "Podany login jest zajety");
- else if(!login.matches("[a-zA-Z0-9]{4,}"))
- errors.put("loginError", "Login moze sie skadac z wielkich i malych liter oraz z cyfr od 0-9");
- if(password.length()<6)
- errors.put("passwordError", "Podane haslo jest za krotkie - musi zawierac przynajmniej 6 znakow");
- else if(!password.matches("[a-zA-Z0-9]{6,}"))
- errors.put("passwordError", "Haslo moze sie skadac z wielkich i malych liter oraz z cyfr od 0-9");
- if(!password.equals(repeatedPassword))
- errors.put("repeatedPasswordError", "Podane hasla sie nie zgadzaja");
- if(new UserDAO().checkIfUserExistsByEmail(email))
- errors.put("emailError", "Uzytkownik o podanym adresie e-mail juz istnieje");
- else if(!email.matches("[a-zA-Z0-9_\\-]+@[a-zA-Z]+\\.[a-zA-Z]+"))
- errors.put("emailError", "Podany adres e-mail jest niepoprawny");
- //obsluga bledow dla pozostalych atrybutow
- if (errors.isEmpty())
- {
- password=UserService.md5(password);
- long nip=Long.parseLong(NIPnumber);
- userDAO.addCompanyUser(login, password, email, name, surname, city, street, flatNumber, postalCode, nip, companyName);
- User loggedUser = userDAO.getByLogin(login);
- request.session().attribute("user", loggedUser);
- model.put("user", request.session().attribute("user"));
- model.put("template", "templates/index.vtl");
- }
- else
- {
- model.putAll(errors);
- model.put("template", "templates/registerCompany.vtl");
- }
- }
- else
- {
- model.putAll(errors);
- model.put("template", "templates/registerCompany.vtl");
- }
- return new ModelAndView(model, layout);
- }, new VelocityTemplateEngine());
- get("/registerPrivate", (request, response) ->
- {
- Map<String, Object> model = new HashMap<String, Object>();
- model.put("template", "templates/registerPrivate.vtl");
- return new ModelAndView(model, layout);
- }, new VelocityTemplateEngine());
- post("/registerPrivate", (request, response) ->
- {
- Map<String, Object> model = new HashMap<String, Object>();
- Map<String, String> errors = new HashMap<String, String>();
- UserDAO userDAO = new UserDAO();
- String login = request.queryParams("login");
- String password = request.queryParams("password");
- String repeatedPassword = request.queryParams("password2");
- String email = request.queryParams("email");
- String name = request.queryParams("name");
- String surname = request.queryParams("surname");
- String city=request.queryParams("city");
- String street=request.queryParams("street");
- String flatNumber=request.queryParams("flatNumber");
- String postalCode=request.queryParams("postalCode");
- if(login!=null)
- {
- if(login.length()<4)
- errors.put("loginError", "Podany login jest za krotki - musi zawierac przynajmniej 4 znaki");
- else if(new UserDAO().checkIfUserExistsByLogin(login))
- errors.put("loginError", "Podany login jest zajety");
- else if(!login.matches("[a-zA-Z0-9]{4,}"))
- errors.put("loginError", "Login moze sie skadac z wielkich i malych liter oraz z cyfr od 0-9");
- if(password.length()<6)
- errors.put("passwordError", "Podane haslo jest za krotkie - musi zawierac przynajmniej 6 znakow");
- else if(!password.matches("[a-zA-Z0-9]{6,}"))
- errors.put("passwordError", "Haslo moze sie skadac z wielkich i malych liter oraz z cyfr od 0-9");
- if(!password.equals(repeatedPassword))
- errors.put("repeatedPasswordError", "Podane hasla sie nie zgadzaja");
- if(new UserDAO().checkIfUserExistsByEmail(email))
- errors.put("emailError", "Uzytkownik o podanym adresie e-mail juz istnieje");
- else if(!email.matches("[a-zA-Z0-9_\\-]+@[a-zA-Z]+\\.[a-zA-Z]+"))
- errors.put("emailError", "Podany adres e-mail jest niepoprawny");
- //obsluga bledow dla pozostalych atrybutow
- if (errors.isEmpty())
- {
- password=UserService.md5(password);
- userDAO.addPrivateUser(login, password, email, name, surname, city, street, flatNumber, postalCode);
- User loggedUser = userDAO.getByLogin(login);
- request.session().attribute("user", loggedUser);
- model.put("user", request.session().attribute("user"));
- model.put("template", "templates/index.vtl");
- }
- else
- {
- model.putAll(errors);
- model.put("template", "templates/registerPrivate.vtl");
- }
- }
- else
- {
- model.putAll(errors);
- model.put("template", "templates/registerPrivate.vtl");
- }
- return new ModelAndView(model, layout);
- }, new VelocityTemplateEngine());
- get("/terms", (request, response) ->
- {
- Map<String, Object> model = new HashMap<String, Object>();
- model.put("user", request.session().attribute("user"));
- model.put("template", "templates/terms.vtl");
- return new ModelAndView(model, layout);
- }, new VelocityTemplateEngine());
- get("/contact", (request, response) ->
- {
- Map<String, Object> model = new HashMap<String, Object>();
- model.put("user", request.session().attribute("user"));
- model.put("template", "templates/contact.vtl");
- return new ModelAndView(model, layout);
- }, new VelocityTemplateEngine());
- post("/login", (request, response) ->
- {
- Map<String, Object> model = new HashMap<String, Object>();
- String login = request.queryParams("login");
- String password = UserService.md5(request.queryParams("password"));
- User loggedUser = new UserDAO().getByLogin(login);
- if (loggedUser == null || !loggedUser.getPassword().equals(password))
- {
- model.put("loginError", "Login lub haslo niepoprawne");
- model.put("template", "templates/index.vtl");
- }
- else
- {
- request.session().attribute("user", loggedUser);
- model.put("user", request.session().attribute("user"));
- model.put("template", "templates/index.vtl");
- }
- return new ModelAndView(model, layout);
- }, new VelocityTemplateEngine());
- get("/logout", (request, response) ->
- {
- Map<String, Object> model = new HashMap<String, Object>();
- request.session().removeAttribute("user");
- model.put("user", request.session().attribute("user"));
- model.put("template", "templates/index.vtl");
- return new ModelAndView(model, layout);
- }, new VelocityTemplateEngine());
- }
- }
Add Comment
Please, Sign In to add comment