Ejemplo n.º 1
0
  /**
   * Registreer een nieuwe speler.
   *
   * @param naam String
   * @param voornaam String
   * @param gebruikersnaam String
   * @param wachtwoord String
   * @param wachtwoordBevestiging String
   */
  public void registreer(
      String naam,
      String voornaam,
      String gebruikersnaam,
      String wachtwoord,
      String wachtwoordBevestiging) {
    if (!wachtwoord.equals(wachtwoordBevestiging)) {
      throw new WachtwoordException(lang.get("err.passwordrepeat"));
    }

    // controle DR Nieuwe Speler
    if (gebruikersnaam.length() < 8) {
      throw new GebruikersnaamException(lang.get("err.usernameDR"));
    }

    if (wachtwoord.length() < 8
        || !wachtwoord.matches(".*[A-Z].*")
        || !wachtwoord.matches(".*[a-z].*")
        || !wachtwoord.matches(".*[0-9].*")) {
      throw new WachtwoordException(lang.get("err.passwordDR"));
    }

    wachtwoord = BCrypt.hashpw(wachtwoord, BCrypt.gensalt(10));

    Speler nieuweSpeler = new Speler(naam, voornaam, gebruikersnaam, wachtwoord);
    setHuidigeSpeler(nieuweSpeler);
    huidigeSpeler.setLang(lang);
    spelerRepository.voegToe(nieuweSpeler);
  }