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