mirror of
https://github.com/kmitresse/Cards-Rush.git
synced 2026-05-13 17:11:49 +00:00
refactor(DevWeb): Edit Bean file to handle errors
This commit is contained in:
@@ -5,6 +5,8 @@ import uppa.project.database.dao.DAO;
|
||||
import uppa.project.database.dao.DAOException;
|
||||
import uppa.project.database.dao.jpa.Game_JPA_DAO_Factory;
|
||||
import uppa.project.database.pojo.User;
|
||||
import uppa.project.json.HttpResponse;
|
||||
import uppa.project.json.HttpResponseCode;
|
||||
|
||||
public class LoginBean implements Serializable {
|
||||
|
||||
@@ -14,6 +16,8 @@ public class LoginBean implements Serializable {
|
||||
private String password;
|
||||
private User user;
|
||||
|
||||
private HttpResponse error;
|
||||
|
||||
public LoginBean() {
|
||||
}
|
||||
|
||||
@@ -23,27 +27,28 @@ public class LoginBean implements Serializable {
|
||||
}
|
||||
|
||||
public boolean validate() {
|
||||
|
||||
Game_JPA_DAO_Factory factory = new Game_JPA_DAO_Factory();
|
||||
|
||||
try {
|
||||
DAO<User> userDao = factory.getDAOUser();
|
||||
User[] user = userDao.findByField("username", username);
|
||||
System.out.println(user.length);
|
||||
|
||||
for (User u : user) {
|
||||
if (u.getUsername().equals(username)) {
|
||||
if (u.getUsername().equals(username) && u.verifyPassword(password)) {
|
||||
this.user = u;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
} catch (DAOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
error = new HttpResponse(HttpResponseCode.INTERNAL_SERVER_ERROR,"Une erreur est survenue (DB_CONNECTION_ERROR:001)");
|
||||
return false;
|
||||
}
|
||||
|
||||
public User getUser() {
|
||||
return user;
|
||||
error = new HttpResponse(HttpResponseCode.NOT_FOUND,"Le nom d'utilisateur ou le mot de passe est incorrect.");
|
||||
return false;
|
||||
}
|
||||
|
||||
public LoginBean setUsername(String username) {
|
||||
@@ -55,4 +60,12 @@ public class LoginBean implements Serializable {
|
||||
this.password = password;
|
||||
return this;
|
||||
}
|
||||
|
||||
public User getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public HttpResponse getError() {
|
||||
return error;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,8 @@ import uppa.project.database.dao.DAOException;
|
||||
import uppa.project.database.dao.EntityManagerProvider;
|
||||
import uppa.project.database.dao.jpa.Game_JPA_DAO_Factory;
|
||||
import uppa.project.database.pojo.User;
|
||||
import uppa.project.json.HttpResponse;
|
||||
import uppa.project.json.HttpResponseCode;
|
||||
|
||||
public class RegisterBean implements Serializable {
|
||||
|
||||
@@ -20,7 +22,8 @@ public class RegisterBean implements Serializable {
|
||||
private String password;
|
||||
private String birth;
|
||||
private String gender;
|
||||
private String errorMessage;
|
||||
|
||||
private HttpResponse error;
|
||||
|
||||
public RegisterBean() {
|
||||
}
|
||||
@@ -44,18 +47,18 @@ public class RegisterBean implements Serializable {
|
||||
// Check if the username is already taken
|
||||
User[] users = userDAO.findByField("username", username);
|
||||
if (users.length > 0) {
|
||||
errorMessage = "Ce nom d'utilisateur est déjà pris";
|
||||
error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Ce nom d'utilisateur est déjà pris");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if the email is already taken
|
||||
users = userDAO.findByField("email", email);
|
||||
if (users.length > 0) {
|
||||
errorMessage = "Cet email est déjà utilisé";
|
||||
error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Cet email est déjà utilisé");
|
||||
return false;
|
||||
}
|
||||
} catch (DAOException e) {
|
||||
errorMessage = "Une erreur est survenue (DB_CONNECTION_ERROR)";
|
||||
error = new HttpResponse(HttpResponseCode.INTERNAL_SERVER_ERROR, "Une erreur est survenue (DB_CONNECTION_ERROR:001)");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -67,7 +70,7 @@ public class RegisterBean implements Serializable {
|
||||
try {
|
||||
user.setGender(User.Gender.valueOf(gender));
|
||||
} catch (IllegalArgumentException e) {
|
||||
errorMessage = "Le genre n'est pas valide";
|
||||
error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "Le genre n'est pas valide");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -78,7 +81,7 @@ public class RegisterBean implements Serializable {
|
||||
Date date = Date.from(localDate.atStartOfDay(defaultZoneId).toInstant());
|
||||
user.setBirth(date);
|
||||
} catch (Exception e) {
|
||||
errorMessage = "La date de naissance n'est pas valide";
|
||||
error = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "La date de naissance n'est pas valide");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -91,6 +94,7 @@ public class RegisterBean implements Serializable {
|
||||
entityManager.getTransaction().commit();
|
||||
return true;
|
||||
} catch (DAOException e) {
|
||||
error = new HttpResponse(HttpResponseCode.INTERNAL_SERVER_ERROR, "Une erreur est survenue (DB_CONNECTION_ERROR:002)");
|
||||
entityManager.getTransaction().rollback();
|
||||
}
|
||||
return false;
|
||||
@@ -121,7 +125,7 @@ public class RegisterBean implements Serializable {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getErrorMessage() {
|
||||
return errorMessage;
|
||||
public HttpResponse getError() {
|
||||
return error;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,10 +46,8 @@ public class LoginServlet extends HttpServlet {
|
||||
|
||||
httpResponse = new HttpResponse(HttpResponseCode.OK, "Login success");
|
||||
} else {
|
||||
httpResponse = new HttpResponse(HttpResponseCode.UNAUTHORIZED, "<strong>Erreur de connexion:</strong> Le nom d'utilisateur ou le " +
|
||||
"mot de passe est incorrect.");
|
||||
httpResponse = loginBean.getError();
|
||||
}
|
||||
|
||||
out.println(gson.toJson(httpResponse));
|
||||
out.flush();
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ public class RegisterServlet extends HttpServlet {
|
||||
"Register success"
|
||||
);
|
||||
} else {
|
||||
httpResponse = new HttpResponse(HttpResponseCode.UNAUTHORIZED, registerBean.getErrorMessage());
|
||||
httpResponse = registerBean.getError();
|
||||
}
|
||||
|
||||
out.println(gson.toJson(httpResponse));
|
||||
|
||||
Reference in New Issue
Block a user