refacto: devWeb - unify language used for comments (back)

This commit is contained in:
kmitresse
2024-05-01 15:32:17 +02:00
parent 1270077aef
commit 97bfa17a70
10 changed files with 33 additions and 41 deletions
@@ -15,7 +15,7 @@ import uppa.project.database.pojo.Player;
public class PlayerBean { public class PlayerBean {
private Player player; private Player player;
public PlayerBean(Player player){ public PlayerBean(Player player) {
this.player = player; this.player = player;
} }
@@ -24,12 +24,11 @@ public class PlayerBean {
* *
* @return true si tous les joueurs sont gérés, false sinon * @return true si tous les joueurs sont gérés, false sinon
*/ */
public boolean validate(){ public boolean validate() {
EntityManager em = EntityManagerProvider.getInstance(); EntityManager em = EntityManagerProvider.getInstance();
em.getTransaction().begin(); em.getTransaction().begin();
try{ try {
DAO<Player> playerDAO = new Game_JPA_DAO_Factory().getDAOPlayer(); Player dbPlayer = new Player(player.getGame(), player.getUser());
Player dbPlayer = new Player(player.getGame(),player.getUser());
dbPlayer.setScore(player.getScore()); dbPlayer.setScore(player.getScore());
if (player.isWinner()) dbPlayer.setWinner(); if (player.isWinner()) dbPlayer.setWinner();
dbPlayer.setClickCount(player.getClickCount()); dbPlayer.setClickCount(player.getClickCount());
@@ -39,8 +38,7 @@ public class PlayerBean {
player.getUser().addPlayedGame(dbPlayer); player.getUser().addPlayedGame(dbPlayer);
em.getTransaction().commit(); em.getTransaction().commit();
return true; return true;
} catch (DAOException e) { } catch (Exception e) {
System.out.println("Player :" + this.player.getUser().getUsername() +"n'a pas pu être enregistré en base de données");
em.getTransaction().rollback(); em.getTransaction().rollback();
return false; return false;
} }
@@ -37,21 +37,21 @@ public class ProfileBean {
DAO<User> userDAO; DAO<User> userDAO;
try { try {
userDAO= new Game_JPA_DAO_Factory().getDAOUser(); userDAO= new Game_JPA_DAO_Factory().getDAOUser();
//Check if the user is valid // Vérification de l'existence de l'utilisateur
user = userDAO.findById(Integer.parseInt(id)); user = userDAO.findById(Integer.parseInt(id));
if (user == null) { if (user == null) {
error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Utilisateur non trouvé"); error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Utilisateur non trouvé");
entityManager.getTransaction().rollback(); entityManager.getTransaction().rollback();
return false; return false;
} }
//Check if the email is not already taken // Vérification de l'unicité de l'adresse e-mail
User[] users = userDAO.findByField("email", email); User[] users = userDAO.findByField("email", email);
if (!oldEmail.equals(email) && users.length > 0) { if (!oldEmail.equals(email) && users.length > 0) {
error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Cet email est déjà utilisé"); error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Cet email est déjà utilisé");
entityManager.getTransaction().rollback(); entityManager.getTransaction().rollback();
return false; return false;
} }
//Check if the oldPassword is correct // Verification de l'ancien mot de passe
if(!oldPassword.isEmpty() && !user.verifyPassword(oldPassword)) { if(!oldPassword.isEmpty() && !user.verifyPassword(oldPassword)) {
error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Ancien mot de passe incorrect"); error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Ancien mot de passe incorrect");
entityManager.getTransaction().rollback(); entityManager.getTransaction().rollback();
@@ -62,7 +62,7 @@ public class ProfileBean {
entityManager.getTransaction().rollback(); entityManager.getTransaction().rollback();
return false; return false;
} }
//Update the user // Mise à jour des informations de l'utilisateur
user.setEmail(email); user.setEmail(email);
if (!password.isEmpty()) { if (!password.isEmpty()) {
user.setPassword(password); user.setPassword(password);
@@ -39,18 +39,18 @@ public class RegisterBean implements Serializable {
Game_JPA_DAO_Factory jpaDaoFactory = new Game_JPA_DAO_Factory(); Game_JPA_DAO_Factory jpaDaoFactory = new Game_JPA_DAO_Factory();
DAO<User> userDAO; DAO<User> userDAO;
// Check if the user is valid // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
try { try {
userDAO = jpaDaoFactory.getDAOUser(); userDAO = jpaDaoFactory.getDAOUser();
// Check if the username is already taken // Vérification de l'unicité du nom d'utilisateur
User[] users = userDAO.findByField("username", username); User[] users = userDAO.findByField("username", username);
if (users.length > 0) { if (users.length > 0) {
error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Ce nom d'utilisateur est déjà pris"); error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Ce nom d'utilisateur est déjà pris");
return false; return false;
} }
// Check if the email is already taken // Vérification de l'unicité de l'adresse e-mail
users = userDAO.findByField("email", email); users = userDAO.findByField("email", email);
if (users.length > 0) { if (users.length > 0) {
error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Cet email est déjà utilisé"); error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Cet email est déjà utilisé");
@@ -61,7 +61,7 @@ public class RegisterBean implements Serializable {
return false; return false;
} }
// Create a new User // Creation de l'utilisateur
User user = new User(); User user = new User();
user.setUsername(username); user.setUsername(username);
user.setPassword(password); user.setPassword(password);
@@ -73,7 +73,7 @@ public class RegisterBean implements Serializable {
return false; return false;
} }
// convert the birthdate from String as YYYY-MM-DD to Date object // Convertion de la date de naissance de String au format YYYY-MM-DD en objet Date
try { try {
LocalDate localDate = LocalDate.parse(birth); LocalDate localDate = LocalDate.parse(birth);
ZoneId defaultZoneId = ZoneId.systemDefault(); ZoneId defaultZoneId = ZoneId.systemDefault();
@@ -84,7 +84,7 @@ public class RegisterBean implements Serializable {
return false; return false;
} }
// Send the user to the database // Sauvegarde de l'utilisateur en base de données
EntityManager entityManager = EntityManagerProvider.getInstance(); EntityManager entityManager = EntityManagerProvider.getInstance();
entityManager.getTransaction().begin(); entityManager.getTransaction().begin();
try { try {
@@ -32,14 +32,14 @@ public class ResetPasswordBean implements Serializable {
DAO<User> userDAO; DAO<User> userDAO;
DAO<RecoveryPasswordToken> recoveryPasswordTokenDAO; DAO<RecoveryPasswordToken> recoveryPasswordTokenDAO;
// Check if the user is valid // Vérification du lien entre le token et un utilisateur
EntityManager entityManager = EntityManagerProvider.getInstance(); EntityManager entityManager = EntityManagerProvider.getInstance();
entityManager.getTransaction().begin(); entityManager.getTransaction().begin();
try { try {
userDAO = jpaDaoFactory.getDAOUser(); userDAO = jpaDaoFactory.getDAOUser();
recoveryPasswordTokenDAO = jpaDaoFactory.getDAORecoveryPasswordToken(); recoveryPasswordTokenDAO = jpaDaoFactory.getDAORecoveryPasswordToken();
// Check if the token is valid // Vériier l'existence du token
RecoveryPasswordToken[] tokens = recoveryPasswordTokenDAO.findByField("token", token); RecoveryPasswordToken[] tokens = recoveryPasswordTokenDAO.findByField("token", token);
if (tokens.length == 0) { if (tokens.length == 0) {
errorMessage = "Ce token n'est pas valide"; errorMessage = "Ce token n'est pas valide";
@@ -47,7 +47,7 @@ public class ResetPasswordBean implements Serializable {
} }
RecoveryPasswordToken token = tokens[0]; RecoveryPasswordToken token = tokens[0];
//Recuperer l'utilisateur associé au token // Récupéreration de l'utilisateur associé au token
User user = token.getUser(); User user = token.getUser();
if (user == null) { if (user == null) {
errorMessage = "Erreur: Aucun utilisateur associé à ce token"; errorMessage = "Erreur: Aucun utilisateur associé à ce token";
@@ -63,7 +63,6 @@ public class ForgottenPasswordServlet extends HttpServlet {
Gson gson = new Gson(); Gson gson = new Gson();
HttpResponse httpResponse; HttpResponse httpResponse;
String url = request.getRequestURL().toString(); String url = request.getRequestURL().toString();
//retirer le dernier segment de l'url pour avoir le contextPath
String uri = url.substring(0, url.lastIndexOf("/")); String uri = url.substring(0, url.lastIndexOf("/"));
if (forgottenPasswordBean.validate(uri)) { if (forgottenPasswordBean.validate(uri)) {
httpResponse = new HttpResponse(HttpResponseCode.OK, "Mail sent"); httpResponse = new HttpResponse(HttpResponseCode.OK, "Mail sent");
@@ -31,8 +31,7 @@ public class GameStatisticsServlet extends HttpServlet {
try { try {
DAO<Game> gameDAO = new Game_JPA_DAO_Factory().getDAOGame(); DAO<Game> gameDAO = new Game_JPA_DAO_Factory().getDAOGame();
game = gameDAO.findById(Integer.parseInt(request.getParameter("id"))); game = gameDAO.findById(Integer.parseInt(request.getParameter("id")));
ArrayList<Player> players = new ArrayList<>(); ArrayList<Player> players = new ArrayList<>(game.getPlayers());
players.addAll(game.getPlayers());
request.setAttribute("players", players); request.setAttribute("players", players);
request.setAttribute("game", game); request.setAttribute("game", game);
request.getRequestDispatcher("/WEB-INF/pages/game-statistics.jsp").forward(request, response); request.getRequestDispatcher("/WEB-INF/pages/game-statistics.jsp").forward(request, response);
@@ -99,7 +99,7 @@ public class ConnectedUsersWS {
if (message.getType().equals("invite")) { if (message.getType().equals("invite")) {
SimpleInvitation invitation = gson.fromJson(message.getData(), SimpleInvitation.class); SimpleInvitation invitation = gson.fromJson(message.getData(), SimpleInvitation.class);
// Find session of the user who receive // Récupérer la session de l'utilisateur invité
for (Session s : users.keySet()) { for (Session s : users.keySet()) {
if (users.get(s).getId().intValue() == invitation.getTo().getId()) { if (users.get(s).getId().intValue() == invitation.getTo().getId()) {
try { try {
@@ -80,7 +80,7 @@ public class GameWS {
ArrayList<SimplePlayer> simplePlayerList = new ArrayList<>(); ArrayList<SimplePlayer> simplePlayerList = new ArrayList<>();
for (Player p : games.get(game)) simplePlayerList.add(new SimplePlayer(p)); for (Player p : games.get(game)) simplePlayerList.add(new SimplePlayer(p));
// Broadcast the new player // Diffusion de la nouvelle liste de joueurs
broadcast(new Message("updatePlayerList", gson.toJson(simplePlayerList)).toJson()); broadcast(new Message("updatePlayerList", gson.toJson(simplePlayerList)).toJson());
} }
@@ -88,12 +88,11 @@ public class GameWS {
game.setGameState(Game.GameState.STARTED); game.setGameState(Game.GameState.STARTED);
broadcast(new Message("start", gson.toJson(new SimpleGame(game, games.get(game)))).toJson()); broadcast(new Message("start", gson.toJson(new SimpleGame(game, games.get(game)))).toJson());
// TODO Start the timer
Timer timer = new Timer(); Timer timer = new Timer();
timer.schedule(new TimerTask() { timer.schedule(new TimerTask() {
@Override @Override
public void run() { public void run() {
// Broadcast the end of the game // Fin du timer
broadcast(new Message("timerEnd", gson.toJson(new SimpleGame(game, games.get(game)))).toJson()); broadcast(new Message("timerEnd", gson.toJson(new SimpleGame(game, games.get(game)))).toJson());
timer.cancel(); timer.cancel();
} }
@@ -110,19 +109,19 @@ public class GameWS {
player.setCurrentClick(choice); player.setCurrentClick(choice);
// get the number of players who clicked // Récupérer le nombre de joueurs ayant cliqué
int gameClickCount = 0; int gameClickCount = 0;
for (Player player : games.get(game)) { for (Player player : games.get(game)) {
if (player.getCurrentClick() != null) gameClickCount++; if (player.getCurrentClick() != null) gameClickCount++;
} }
// Click count // Compteur de clics
player.incrementClickCount(); player.incrementClickCount();
// Right click count // Compteur de clics rapides
if (gameClickCount == 1) player.incrementRapidClickCount(); if (gameClickCount == 1) player.incrementRapidClickCount();
// Check if the player has clicked on the right card // Vérifier le choix du joueur et attribuer les points
if (game.getDifficulty().equals(Game.Difficulty.EASY)) { if (game.getDifficulty().equals(Game.Difficulty.EASY)) {
switch (choice) { switch (choice) {
case COLOR_VALUE -> { case COLOR_VALUE -> {
@@ -213,18 +212,18 @@ public class GameWS {
} }
} }
// Broadcast the player choice with score // Diffuser le score du joueur
broadcast(new Message("updatePlayer", gson.toJson(new SimplePlayer(player))).toJson()); broadcast(new Message("updatePlayer", gson.toJson(new SimplePlayer(player))).toJson());
System.out.println(gameClickCount + " / " + games.get(game).size()); System.out.println(gameClickCount + " / " + games.get(game).size());
// If all players have clicked // Si tous les joueurs ont cliqué
if (gameClickCount >= games.get(game).size()) { if (gameClickCount >= games.get(game).size()) {
// Stop the timer if it's running // Stopper le timer
timers.get(game).cancel(); timers.get(game).cancel();
// Reset the current click for all players // Réinitialiser les clics courrants
for (Player p : games.get(game)) p.setCurrentClick(null); for (Player p : games.get(game)) p.setCurrentClick(null);
List<Player> players = games.get(game); List<Player> players = games.get(game);
@@ -238,14 +237,14 @@ public class GameWS {
Player theoricWinner = players.get(0); Player theoricWinner = players.get(0);
Player second = players.get(1); Player second = players.get(1);
// Check if the game is over // Vérifier si la partie est terminée
if (game.nextRound() || (second.getScore() == theoricWinner.getScore() && second.getRapidClickCount() == theoricWinner.getRapidClickCount())) { if (game.nextRound() || (second.getScore() == theoricWinner.getScore() && second.getRapidClickCount() == theoricWinner.getRapidClickCount())) {
broadcast(new Message("nextRound", gson.toJson(new SimpleGame(game, games.get(game)))).toJson()); broadcast(new Message("nextRound", gson.toJson(new SimpleGame(game, games.get(game)))).toJson());
Timer timer = new Timer(); Timer timer = new Timer();
timer.schedule(new TimerTask() { timer.schedule(new TimerTask() {
@Override @Override
public void run() { public void run() {
// Broadcast the end of the game // Diffuser la fin du timer
broadcast(new Message("timerEnd", gson.toJson(new SimpleGame(game, games.get(game)))).toJson()); broadcast(new Message("timerEnd", gson.toJson(new SimpleGame(game, games.get(game)))).toJson());
timer.cancel(); timer.cancel();
} }
@@ -263,7 +262,7 @@ public class GameWS {
} }
em.getTransaction().commit(); em.getTransaction().commit();
// Broadcast the end of the game // Diffusion de la fin de la partie
broadcast(new Message("end", gson.toJson(new SimpleGame(game, games.get(game)))).toJson()); broadcast(new Message("end", gson.toJson(new SimpleGame(game, games.get(game)))).toJson());
} }
} }
@@ -97,7 +97,6 @@
<jsp:useBean id="user" scope="session" type="uppa.project.database.pojo.User"/> <jsp:useBean id="user" scope="session" type="uppa.project.database.pojo.User"/>
<script defer type="module"> <script defer type="module">
// Modal
// Modal // Modal
document.querySelectorAll('.modal-trigger').forEach(($el) => { document.querySelectorAll('.modal-trigger').forEach(($el) => {
@@ -1,12 +1,10 @@
export default class Message { export default class Message {
constructor(rawMessage) { constructor(rawMessage) {
// Parse the message
const message = JSON.parse(rawMessage); const message = JSON.parse(rawMessage);
message.data = JSON.parse(message.data); message.data = JSON.parse(message.data);
console.log(message); console.log(message);
// Set the message properties
this.type = message.type; this.type = message.type;
this.data = message.data; this.data = message.data;
} }