mirror of
https://github.com/kmitresse/Cards-Rush.git
synced 2026-07-09 13:27:45 +00:00
feat: dev-web - add entityManager.getTransaction functions in Servlets
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
package uppa.project.servlet;
|
package uppa.project.servlet;
|
||||||
|
|
||||||
|
import jakarta.persistence.EntityManager;
|
||||||
import jakarta.servlet.ServletException;
|
import jakarta.servlet.ServletException;
|
||||||
import jakarta.servlet.annotation.WebServlet;
|
import jakarta.servlet.annotation.WebServlet;
|
||||||
import jakarta.servlet.http.HttpServlet;
|
import jakarta.servlet.http.HttpServlet;
|
||||||
@@ -17,6 +18,7 @@ import javax.mail.Message;
|
|||||||
import uppa.project.Global;
|
import uppa.project.Global;
|
||||||
import uppa.project.dao.DAO;
|
import uppa.project.dao.DAO;
|
||||||
import uppa.project.dao.DAOException;
|
import uppa.project.dao.DAOException;
|
||||||
|
import uppa.project.dao.jpa.DAO_JPA_RecoveryPasswordToken;
|
||||||
import uppa.project.dao.jpa.DAO_JPA_User;
|
import uppa.project.dao.jpa.DAO_JPA_User;
|
||||||
import uppa.project.dao.jpa.Game_JPA_DAO_Factory;
|
import uppa.project.dao.jpa.Game_JPA_DAO_Factory;
|
||||||
import uppa.project.pojo.RecoveryPasswordToken;
|
import uppa.project.pojo.RecoveryPasswordToken;
|
||||||
@@ -24,10 +26,12 @@ import uppa.project.pojo.User;
|
|||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import javax.mail.*;
|
import javax.mail.*;
|
||||||
import javax.mail.internet.*;
|
import javax.mail.internet.*;
|
||||||
|
import uppa.project.provider.EntityManagerProvider;
|
||||||
|
|
||||||
|
|
||||||
@WebServlet(name = "forgottenPasswordServlet", value = "/forgotten-password")
|
@WebServlet(name = "forgottenPasswordServlet", value = "/forgotten-password")
|
||||||
public class ForgottenPasswordServlet extends HttpServlet {
|
public class ForgottenPasswordServlet extends HttpServlet {
|
||||||
|
final static EntityManager em = EntityManagerProvider.getInstance();
|
||||||
public void init() {
|
public void init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,6 +57,7 @@ public class ForgottenPasswordServlet extends HttpServlet {
|
|||||||
|
|
||||||
RecoveryPasswordToken recoveryPasswordToken = new RecoveryPasswordToken(token, user);
|
RecoveryPasswordToken recoveryPasswordToken = new RecoveryPasswordToken(token, user);
|
||||||
CreateToken(recoveryPasswordToken);
|
CreateToken(recoveryPasswordToken);
|
||||||
|
|
||||||
sendRecoveryEmail(email, token);
|
sendRecoveryEmail(email, token);
|
||||||
response.sendRedirect(request.getContextPath() + "/forgotten-password?success=200");
|
response.sendRedirect(request.getContextPath() + "/forgotten-password?success=200");
|
||||||
}
|
}
|
||||||
@@ -119,10 +124,13 @@ public class ForgottenPasswordServlet extends HttpServlet {
|
|||||||
}
|
}
|
||||||
public static void CreateToken(RecoveryPasswordToken token){
|
public static void CreateToken(RecoveryPasswordToken token){
|
||||||
Game_JPA_DAO_Factory jpaDaoFactory = new Game_JPA_DAO_Factory();
|
Game_JPA_DAO_Factory jpaDaoFactory = new Game_JPA_DAO_Factory();
|
||||||
|
em.getTransaction().begin();
|
||||||
try {
|
try {
|
||||||
DAO<RecoveryPasswordToken> daoJpaRecoveryPasswordToken = jpaDaoFactory.getDAORecoveryPasswordToken();
|
DAO<RecoveryPasswordToken> daoJpaRecoveryPasswordToken = jpaDaoFactory.getDAORecoveryPasswordToken();
|
||||||
daoJpaRecoveryPasswordToken.create(token);
|
daoJpaRecoveryPasswordToken.create(token);
|
||||||
|
em.getTransaction().commit();
|
||||||
} catch (DAOException e) {
|
} catch (DAOException e) {
|
||||||
|
em.getTransaction().rollback();
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
package uppa.project.servlet;
|
package uppa.project.servlet;
|
||||||
|
|
||||||
|
import jakarta.persistence.EntityManager;
|
||||||
import jakarta.servlet.ServletException;
|
import jakarta.servlet.ServletException;
|
||||||
import jakarta.servlet.annotation.WebServlet;
|
import jakarta.servlet.annotation.WebServlet;
|
||||||
import jakarta.servlet.http.HttpServlet;
|
import jakarta.servlet.http.HttpServlet;
|
||||||
@@ -19,10 +20,12 @@ import java.util.Locale;
|
|||||||
import uppa.project.dao.DAOException;
|
import uppa.project.dao.DAOException;
|
||||||
import uppa.project.dao.jpa.DAO_JPA_User;
|
import uppa.project.dao.jpa.DAO_JPA_User;
|
||||||
import uppa.project.pojo.User;
|
import uppa.project.pojo.User;
|
||||||
|
import uppa.project.provider.EntityManagerProvider;
|
||||||
|
|
||||||
@WebServlet(name = "registerServlet", value = "/register")
|
@WebServlet(name = "registerServlet", value = "/register")
|
||||||
public class RegisterServlet extends HttpServlet {
|
public class RegisterServlet extends HttpServlet {
|
||||||
|
|
||||||
|
static final EntityManager em = EntityManagerProvider.getInstance();
|
||||||
public void init() {
|
public void init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,14 +63,18 @@ public class RegisterServlet extends HttpServlet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void createAccount(String username, String email, String password, Date birth, String gender){
|
public static void createAccount(String username, String email, String password, Date birth, String gender){
|
||||||
|
em.getTransaction().begin();
|
||||||
try{
|
try{
|
||||||
DAO_JPA_User daoJpaUser = new DAO_JPA_User();
|
DAO_JPA_User daoJpaUser = new DAO_JPA_User();
|
||||||
User user = new User(username, email, password, birth, User.getGender(gender));
|
User user = new User(username, email, password, birth, User.getGender(gender));
|
||||||
daoJpaUser.create(user);
|
daoJpaUser.create(user);
|
||||||
|
em.getTransaction().commit();
|
||||||
} catch (DAOException | IllegalArgumentException e) {
|
} catch (DAOException | IllegalArgumentException e) {
|
||||||
|
em.getTransaction().rollback();
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void destroy() {
|
public void destroy() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user