Skip to content

Commit

Permalink
Merge branch 'develop' into 82-utilisation-dun-sig
Browse files Browse the repository at this point in the history
Signed-off-by: Tom D. <tom-domenge@etud.univ-tln.fr>
  • Loading branch information
anastygnome authored Oct 15, 2023
2 parents 6de3a64 + dd9f416 commit 0aca44f
Show file tree
Hide file tree
Showing 50 changed files with 832 additions and 998 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,25 +30,22 @@ public List<Annotation> findAll()
return query.getResultList();
}

public List<Annotation> findOfEpigraphe(int idEpi)
{
TypedQuery<Annotation> query = entityManager.createQuery("SELECT M FROM Annotation as M where epigraphe.id = " + idEpi,Annotation .class);
public List<Annotation> findAnnotationsOfEpigraphe ( int idEpi ) {
TypedQuery<Annotation> query = entityManager.createQuery("SELECT M FROM Annotation as M where epigraphe.id = " + idEpi, Annotation.class);
return query.getResultList();
}

public Annotation findByIdEpiMail(int idEpi,String email)
{
TypedQuery<Annotation> query = entityManager.createQuery("SELECT M FROM Annotation as M join Utilisateur U on M.utilisateur.id = U.id where M.epigraphe.id = :id and U.email = :email" ,Annotation.class);
query.setParameter("email",email);
query.setParameter("id",idEpi);
public Annotation findByIdEpiAndMail ( int idEpi, String email ) {
TypedQuery<Annotation> query = entityManager.createQuery("SELECT M FROM Annotation as M join Utilisateur U on M.utilisateur.id = U.id where M.epigraphe.id = :id and U.email = :email", Annotation.class);
query.setParameter("email", email);
query.setParameter("id", idEpi);
return query.getSingleResult();
}

public Annotation persist(Annotation annotation) {
Epigraphe epigraphe = annotation.getEpigraphe();
try {
EpigrapheDAO epigrapheDAO = EpigrapheDAO.create(entityManager); //NOSONAR (L'entity manager sera fermé par la classe)
//l'entity manager sera fermé par la suite.
annotation.setEpigraphe(epigrapheDAO.getEpigraphe(epigraphe.getId()));
}
catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@
import fr.univtln.m1infodid.projet_s2.backend.SI;
import fr.univtln.m1infodid.projet_s2.backend.model.Epigraphe;
import jakarta.persistence.EntityManager;
import jakarta.persistence.TypedQuery;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.CriteriaQuery;
import jakarta.persistence.criteria.Root;
import lombok.extern.slf4j.Slf4j;

import java.time.LocalDate;
Expand Down Expand Up @@ -38,12 +34,7 @@ private static EpigrapheDAO createEpigrapheDAO ( EntityManager entityManager ) {
* @return list of the epigraphs
*/
public List<Epigraphe> findAll () {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Epigraphe> cq = cb.createQuery(Epigraphe.class);
Root<Epigraphe> rootEntry = cq.from(Epigraphe.class);
CriteriaQuery<Epigraphe> all = cq.select(rootEntry);
TypedQuery<Epigraphe> allQuery = entityManager.createQuery(all);
return allQuery.getResultList();
return entityManager.createQuery("SELECT E from Epigraphe as E ", Epigraphe.class).getResultList();
}

/**
Expand Down Expand Up @@ -91,10 +82,13 @@ public void remove(Epigraphe epigraphe) {
remove(epigraphe.getId());
}

public Epigraphe getEpigrapheNoCommit(int id) {
Epigraphe epigraphe = findById(id);

if(epigraphe !=null) {

public Epigraphe getEpigrapheNoCommit ( int id ) {

Epigraphe epigraphe = findById(id);

if (epigraphe != null) {
LocalDate date = epigraphe.getFetchDate();

if (date.isBefore(LocalDate.now().plusDays(2)))
Expand All @@ -106,12 +100,13 @@ public Epigraphe getEpigrapheNoCommit(int id) {
return epigraphe;
}

public Epigraphe getEpigraphe(int id) {
public Epigraphe getEpigraphe ( int id ) {
entityManager.getTransaction().begin();
Epigraphe epigraphe = getEpigrapheNoCommit(id);
entityManager.getTransaction().commit();
return epigraphe;
}

@Override
public void close () throws Exception {
entityManager.close();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,77 +7,68 @@
import java.util.List;

@Slf4j
public class
FormulaireDAO {
private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("EpiPU");
private FormulaireDAO() {}
public class FormulaireDAO {
private static final EntityManagerFactory emf = Persistence.createEntityManagerFactory("EpiPU");

/**
* Contructeur prive de la DAO ne devrait jamais etre instancier
*/
private FormulaireDAO () {
throw new IllegalStateException("ne devrait pas etre instancier");
}

/**
* créer un objet Formulaire dans BD en utilisant l'EntityManager
*
* @param formulaire l'objet Formulaire à persister
* @throws RuntimeException si la transaction ne marche pas
*/


public static void createFormulaire(Formulaire formulaire) {
public static void createFormulaire ( Formulaire formulaire ) {
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
try {
try (em) {
EntityTransaction tx = em.getTransaction();
tx.begin();
em.persist(formulaire);
tx.commit();
} catch (Exception e) {
if (tx.isActive()) {
tx.rollback();
}
throw e;
} finally {
log.info("Persistance formulaire");
em.close();
}
}

/**
* update objet Formulaire existant dans la BD en utilisant l'EntityManager
* @param formulaire l'objet Formulaire à mettre à jour
*/
public static void updateFormulaire(Formulaire formulaire) {
* update objet Formulaire existant dans la BD en utilisant l'EntityManager
*
* @param formulaire l'objet Formulaire à mettre à jour
*/
public static void updateFormulaire ( Formulaire formulaire ) {
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
try {
try (em) {
EntityTransaction tx = em.getTransaction();
tx.begin();
em.merge(formulaire);
tx.commit();
} catch (Exception e) {
if (tx.isActive()) {
tx.rollback();
}
throw e;
} finally {
em.close();
//ignore
}
}

/**
* Supprimer un objet Formulaire de la BD en utilisant l'EntityManager.
*
* @param id l'identifiant de l'objet Formulaire à supprimer
* */
public static void deleteFormulaire(int id) {
*/
public static void deleteFormulaire ( int id ) {
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
try {
try (em) {
EntityTransaction tx = em.getTransaction();
tx.begin();
Formulaire formulaire = em.find(Formulaire.class, id);
em.remove(formulaire);
tx.commit();
} catch (Exception e) {
if (tx.isActive()) {
tx.rollback();
}
throw e;
} finally {
em.close();
// ignored
}
}

Expand All @@ -86,50 +77,37 @@ public static void deleteFormulaire(int id) {
* chercher et retourner un objet Formulaire à partir de son identifiant dans la BD en utilisant l'EntityManager.
* @param id l'identifiant de l'objet Formulaire à rechercher
*/
public static Formulaire findByIdFormulaire(int id) {
EntityManager em = emf.createEntityManager();
try {
public static Formulaire findByIdFormulaire(int id ) {
try (EntityManager em = emf.createEntityManager()) {
return em.find(Formulaire.class, id);
} finally {
em.close();
}
}

public static Formulaire findByEmailFormulaire(String mail) {
EntityManager em = emf.createEntityManager();
try {
public static Formulaire findByEmailFormulaire(String mail ) {
try (EntityManager em = emf.createEntityManager()) {
Query query = em.createQuery("SELECT f FROM Formulaire f where f.email= :email");
query.setParameter("email", mail);
return (Formulaire) query.getSingleResult();
} finally {
em.close();
}
}



/**
* chercher et retourner une liste des objets Formulaire dans la BD en utilisant l'EntityManager.
*
* @return une liste d'objets Formulaire, ou une liste vide si la base de données est vide
*/
public static List<Formulaire> findAllFormulaire() {
EntityManager em = emf.createEntityManager();
try {
Query query = em.createQuery("SELECT f FROM Formulaire f");
public static List<Formulaire> findAllFormulaire () {
try (EntityManager em = emf.createEntityManager()) {
TypedQuery<Formulaire> query = em.createQuery("SELECT f FROM Formulaire f", Formulaire.class);
return query.getResultList();
} finally {
em.close();
}
}

public static List<Formulaire> findFormulaireNotValidated() {
EntityManager em = emf.createEntityManager();
try {
Query query = em.createQuery("SELECT f FROM Formulaire f WHERE f.email NOT IN (SELECT u.email FROM Utilisateur u)");
public static List<Formulaire> findFormulaireNotValidated () {
try (EntityManager em = emf.createEntityManager()) {
TypedQuery<Formulaire> query = em.createQuery("SELECT f FROM Formulaire f WHERE NOT EXISTS (SELECT 1 FROM Utilisateur u where u.email = f.email)", Formulaire.class);
return query.getResultList();
} finally {
em.close();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@


@Slf4j
/**
* Class DAO pour utilisateur
*/

public class UtilisateurDAO implements AutoCloseable{
private final EntityManager entityManager;

Expand All @@ -36,7 +34,7 @@ public static UtilisateurDAO create ( EntityManager entityManager ) {
}

/**
* Retourne une liste de tout les utilisateur en BD
* Retourne une liste de tous les utilisateurs en BD
*
* @return list des utilisateurs
*/
Expand All @@ -48,7 +46,7 @@ public List<Utilisateur> findAll()


/**
* Prend un id d'utilisateur et retourne sont instanciation en BD, preferait findByEmail
* Prend un id d'utilisateur et retourne l'entité en BD
*
* @return L'utilisateur d'id id
*/
Expand Down
Loading

0 comments on commit 0aca44f

Please sign in to comment.