コード例 #1
0
  /** {@inheritDoc} */
  @Override
  public IUtilisateur creerUtilisateur(
      String prenom,
      String nom,
      String identifiant,
      String motDePasse,
      int numeroEtudiant,
      int idEntite) {
    IUtilisateur utilisateur = null;
    String sqlQuery =
        String.format(
            "INSERT INTO %s (%s,%s,%s,%s,%s,%s) VALUES (?,?,?,?,?,?);",
            BaseDonneeEnum.UTILISATEUR,
            UtilisateurEnum.PRENOM_UTILISATEUR,
            UtilisateurEnum.NOM_UTILISATEUR,
            UtilisateurEnum.IDENTIFIANT_UTILISATEUR,
            UtilisateurEnum.MOT_DE_PASSE_UTILISATEUR,
            UtilisateurEnum.NUMERO_ETUDIANT,
            UtilisateurEnum.ID_ENTITE);
    PreparedStatement preparedStatement = this.getBd().openPrepared(sqlQuery);

    // Cryptage du mot de passe
    StrongPasswordEncryptor passwordEncryptor = new StrongPasswordEncryptor();
    String motDePasseCrypt = passwordEncryptor.encryptPassword(motDePasse);

    ResultSet resultSet = null;
    try {
      int numeroParametre = 1;
      preparedStatement.setString(numeroParametre, prenom);
      preparedStatement.setString(++numeroParametre, nom);
      preparedStatement.setString(++numeroParametre, identifiant);
      preparedStatement.setString(++numeroParametre, motDePasseCrypt);
      preparedStatement.setInt(++numeroParametre, numeroEtudiant);
      preparedStatement.setInt(++numeroParametre, idEntite);
      preparedStatement.executeUpdate();
      // On cherche à obtenir l'idUtilisateur généré.
      resultSet = preparedStatement.getGeneratedKeys();
    } catch (SQLException e) {
      LOGGER.warn(e);
    }

    if (resultSet != null) {
      try {
        // Si resusltSet n'est pas nul, on accède à la première ligne.
        resultSet.next();
        // On créé une instance Utilisateur avec les informations à notre disposition.
        utilisateur =
            new Utilisateur(
                resultSet.getInt(1), numeroEtudiant, nom, prenom, identifiant, motDePasseCrypt);
        utilisateur.setEntiteUtilisateur(new Entite(idEntite));
        resultSet.close();
      } catch (SQLException e) {
        LOGGER.warn(e);
      }
    }
    this.getBd().closePrepared(preparedStatement);

    return utilisateur;
  }
コード例 #2
0
  /** {@inheritDoc} */
  @Override
  public IUtilisateur getUtilisateurByIdentifiant(String identifiant) {
    IUtilisateur utilisateur = null;
    String sqlQuery =
        String.format(
            "SELECT u.%s, u.%s, u.%s, u.%s, u.%s, u.%s, u.%s, e.%s  FROM %s u JOIN %s e ON u.%s = e.%s AND u.%s=?;",
            UtilisateurEnum.ID_UTILISATEUR,
            UtilisateurEnum.NUMERO_ETUDIANT,
            UtilisateurEnum.NOM_UTILISATEUR,
            UtilisateurEnum.PRENOM_UTILISATEUR,
            UtilisateurEnum.IDENTIFIANT_UTILISATEUR,
            UtilisateurEnum.MOT_DE_PASSE_UTILISATEUR,
            UtilisateurEnum.ID_ENTITE,
            EntiteEnum.NOM_ENTITE,
            BaseDonneeEnum.UTILISATEUR,
            BaseDonneeEnum.ENTITE,
            UtilisateurEnum.ID_ENTITE,
            EntiteEnum.ID_ENTITE,
            UtilisateurEnum.IDENTIFIANT_UTILISATEUR);
    PreparedStatement preparedStatement = this.getBd().openPrepared(sqlQuery);

    ResultSet resultSet = null;
    try {
      preparedStatement.setString(1, identifiant);
      resultSet = preparedStatement.executeQuery();
    } catch (SQLException e) {
      LOGGER.warn(e);
    }

    if (resultSet != null) {
      try {
        // Si resusltSet n'est pas nul, on accède à la première ligne.
        resultSet.next();
        // On créé une instance Utilisateur avec les informations à notre disposition.
        utilisateur =
            new Utilisateur(
                resultSet.getInt(UtilisateurEnum.ID_UTILISATEUR.toString()),
                resultSet.getInt(UtilisateurEnum.NUMERO_ETUDIANT.toString()),
                resultSet.getString(UtilisateurEnum.NOM_UTILISATEUR.toString()),
                resultSet.getString(UtilisateurEnum.PRENOM_UTILISATEUR.toString()),
                resultSet.getString(UtilisateurEnum.IDENTIFIANT_UTILISATEUR.toString()),
                resultSet.getString(UtilisateurEnum.MOT_DE_PASSE_UTILISATEUR.toString()));
        // Ainsi qu'une instance d'ENTITE que l'on ajoutera dans Utilisateur
        IEntite entite =
            new Entite(
                resultSet.getInt(UtilisateurEnum.ID_ENTITE.toString()),
                resultSet.getString(EntiteEnum.NOM_ENTITE.toString()));
        utilisateur.setEntiteUtilisateur(entite);
        resultSet.close();
      } catch (SQLException e) {
        LOGGER.warn(e);
      }
    }
    this.getBd().closePrepared(preparedStatement);

    return utilisateur;
  }
コード例 #3
0
  /** {@inheritDoc} */
  @Override
  public IUtilisateur majUtilisateur(
      int idUtilisateur,
      String prenom,
      String nom,
      String identifiant,
      int numeroEtudiant,
      int idEntite) {
    IUtilisateur utilisateur = null;
    String sqlQuery =
        String.format(
            "UPDATE %s SET %s=?,%s=?,%s=?,%s=?,%s=? WHERE %s=?;",
            BaseDonneeEnum.UTILISATEUR,
            UtilisateurEnum.PRENOM_UTILISATEUR,
            UtilisateurEnum.NOM_UTILISATEUR,
            UtilisateurEnum.IDENTIFIANT_UTILISATEUR,
            UtilisateurEnum.NUMERO_ETUDIANT,
            UtilisateurEnum.ID_ENTITE,
            UtilisateurEnum.ID_UTILISATEUR);
    PreparedStatement preparedStatement = this.getBd().openPrepared(sqlQuery);

    try {
      int numeroParametre = 1;
      preparedStatement.setString(numeroParametre, prenom);
      preparedStatement.setString(++numeroParametre, nom);
      preparedStatement.setString(++numeroParametre, identifiant);
      preparedStatement.setInt(++numeroParametre, numeroEtudiant);
      preparedStatement.setInt(++numeroParametre, idEntite);
      preparedStatement.setInt(++numeroParametre, idUtilisateur);
      preparedStatement.executeUpdate();
      // On créé une instance Utilisateur avec les informations à notre disposition.
      utilisateur = new Utilisateur(idUtilisateur, numeroEtudiant, nom, prenom, identifiant, "");
      utilisateur.setEntiteUtilisateur(new Entite(idEntite));
    } catch (SQLException e) {
      LOGGER.warn(e);
    }
    this.getBd().closePrepared(preparedStatement);

    return utilisateur;
  }
コード例 #4
0
  /** {@inheritDoc} */
  @Override
  public List<IUtilisateur> getListUtilisateur() {
    List<IUtilisateur> utilisateurList = new ArrayList<>();
    String sqlQuery = String.format("SELECT * FROM %s;", BaseDonneeEnum.UTILISATEUR);
    PreparedStatement preparedStatement = this.getBd().openPrepared(sqlQuery);

    ResultSet resultSet = null;
    try {
      resultSet = preparedStatement.executeQuery();
    } catch (SQLException e) {
      LOGGER.warn(e);
    }

    if (resultSet != null) {
      try {
        // Tant qu'il reste des lignes dans le resultSet
        while (resultSet.next()) {
          // On créé une instance d'utilisateur avec les informations à notre disposition, et on
          // l'ajoute
          IUtilisateur utilisateur =
              new Utilisateur(
                  resultSet.getInt(UtilisateurEnum.ID_UTILISATEUR.toString()),
                  resultSet.getInt(UtilisateurEnum.NUMERO_ETUDIANT.toString()),
                  resultSet.getString(UtilisateurEnum.NOM_UTILISATEUR.toString()),
                  resultSet.getString(UtilisateurEnum.PRENOM_UTILISATEUR.toString()),
                  resultSet.getString(UtilisateurEnum.IDENTIFIANT_UTILISATEUR.toString()),
                  "");
          utilisateur.setEntiteUtilisateur(
              new Entite(resultSet.getInt(UtilisateurEnum.ID_ENTITE.toString())));
          utilisateurList.add(utilisateur);
        }
        resultSet.close();
      } catch (SQLException e) {
        LOGGER.warn(e);
      }
    }
    this.getBd().closePrepared(preparedStatement);

    return utilisateurList;
  }