From c5c530d52c111d70af47ab7ca76f815ef3240432 Mon Sep 17 00:00:00 2001 From: Thomas Rubini <74205383+ThomasRubini@users.noreply.github.com> Date: Mon, 6 Jun 2022 16:11:55 +0200 Subject: [PATCH] =?UTF-8?q?Amelioration=20des=20entit=C3=A9s=20(ajout=20de?= =?UTF-8?q?=20NamedQueries,=20Serializable,=20hashCode,=20equals)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/fr/univ_amu/iut/model/Academie.java | 18 ++++++++++++- .../java/fr/univ_amu/iut/model/Acteur.java | 24 ++++++++++++++++- .../fr/univ_amu/iut/model/Discipline.java | 27 +++++++++++++++++-- .../java/fr/univ_amu/iut/model/Niveau.java | 8 ++++++ .../univ_amu/iut/model/RegionAcademique.java | 26 +++++++++++++++++- .../java/fr/univ_amu/iut/model/Ressource.java | 18 ++++++++++++- .../fr/univ_amu/iut/model/Thematique.java | 25 ++++++++++++++++- .../java/fr/univ_amu/iut/model/Usage.java | 23 +++++++++++++++- 8 files changed, 161 insertions(+), 8 deletions(-) diff --git a/src/main/java/fr/univ_amu/iut/model/Academie.java b/src/main/java/fr/univ_amu/iut/model/Academie.java index 9e55f83..4d1b0ce 100644 --- a/src/main/java/fr/univ_amu/iut/model/Academie.java +++ b/src/main/java/fr/univ_amu/iut/model/Academie.java @@ -2,6 +2,7 @@ package fr.univ_amu.iut.model; import jakarta.persistence.*; +import java.io.Serializable; import java.util.Collection; import java.util.HashMap; import java.util.Map; @@ -11,7 +12,7 @@ import java.util.Map; @NamedQuery(name = "Academie.findByCode", query = "SELECT p FROM Academie p WHERE p.code = :acaCode"), }) @Entity -public class Academie { +public class Academie implements Serializable { private final static HashMap INSTANCES = new HashMap<>(); @Transient public static Academie Mayotte = new Academie("MY", "Académie de Mayotte", RegionAcademique.Mayotte); @@ -125,4 +126,19 @@ public class Academie { ", regionAcademique=" + regionAcademique + '}'; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Academie academie = (Academie) o; + + return code.equals(academie.code); + } + + @Override + public int hashCode() { + return code.hashCode(); + } } \ No newline at end of file diff --git a/src/main/java/fr/univ_amu/iut/model/Acteur.java b/src/main/java/fr/univ_amu/iut/model/Acteur.java index ca8606e..b797644 100644 --- a/src/main/java/fr/univ_amu/iut/model/Acteur.java +++ b/src/main/java/fr/univ_amu/iut/model/Acteur.java @@ -2,12 +2,14 @@ package fr.univ_amu.iut.model; import jakarta.persistence.*; +import java.io.Serializable; + @NamedQueries({ @NamedQuery(name = "Acteur.findAll", query = "SELECT p FROM Acteur p"), @NamedQuery(name = "Acteur.findById", query = "SELECT p FROM Acteur p WHERE p.id = :id"), }) @Entity -public class Acteur { +public class Acteur implements Serializable { @Id @GeneratedValue int id; @@ -52,4 +54,24 @@ public class Acteur { ", identite='" + identite + '\'' + '}'; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Acteur acteur = (Acteur) o; + + if (id != acteur.id) return false; + if (!identite.equals(acteur.identite)) return false; + return type.equals(acteur.type); + } + + @Override + public int hashCode() { + int result = id; + result = 31 * result + identite.hashCode(); + result = 31 * result + type.hashCode(); + return result; + } } diff --git a/src/main/java/fr/univ_amu/iut/model/Discipline.java b/src/main/java/fr/univ_amu/iut/model/Discipline.java index 8248d1e..53a5074 100644 --- a/src/main/java/fr/univ_amu/iut/model/Discipline.java +++ b/src/main/java/fr/univ_amu/iut/model/Discipline.java @@ -2,11 +2,16 @@ package fr.univ_amu.iut.model; import jakarta.persistence.*; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; +@NamedQueries({ + @NamedQuery(name = "Discipline.findAll", query = "SELECT p FROM Discipline p"), + @NamedQuery(name = "Discipline.findById", query = "SELECT p FROM Discipline p WHERE p.id = :id"), +}) @Entity -public class Discipline { +public class Discipline implements Serializable { private static final List INSTANCES = new ArrayList<>(); @@ -44,7 +49,7 @@ public class Discipline { } public static List toutes() { - return INSTANCES; + return new ArrayList<>(INSTANCES); } public static Discipline getById(int id){ @@ -70,4 +75,22 @@ public class Discipline { ", nom='" + nom + '\'' + '}'; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Discipline that = (Discipline) o; + + if (id != that.id) return false; + return nom.equals(that.nom); + } + + @Override + public int hashCode() { + int result = id; + result = 31 * result + nom.hashCode(); + return result; + } } diff --git a/src/main/java/fr/univ_amu/iut/model/Niveau.java b/src/main/java/fr/univ_amu/iut/model/Niveau.java index 1a0e313..ff474b9 100644 --- a/src/main/java/fr/univ_amu/iut/model/Niveau.java +++ b/src/main/java/fr/univ_amu/iut/model/Niveau.java @@ -18,4 +18,12 @@ public enum Niveau { } return null; } + + + @Override + public String toString() { + return "Niveau{" + + "nom='" + nom + '\'' + + '}'; + } } diff --git a/src/main/java/fr/univ_amu/iut/model/RegionAcademique.java b/src/main/java/fr/univ_amu/iut/model/RegionAcademique.java index 74bdfb3..2e447f2 100644 --- a/src/main/java/fr/univ_amu/iut/model/RegionAcademique.java +++ b/src/main/java/fr/univ_amu/iut/model/RegionAcademique.java @@ -2,11 +2,16 @@ package fr.univ_amu.iut.model; import jakarta.persistence.*; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; +@NamedQueries({ + @NamedQuery(name = "RegionAcademique.findAll", query = "SELECT p FROM RegionAcademique p"), + @NamedQuery(name = "RegionAcademique.findById", query = "SELECT p FROM RegionAcademique p WHERE p.id = :id"), +}) @Entity -public class RegionAcademique { +public class RegionAcademique implements Serializable { private static List INSTANCES = new ArrayList<>(); @@ -80,4 +85,23 @@ public class RegionAcademique { public String getNom() { return nom; } + + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + RegionAcademique that = (RegionAcademique) o; + + if (id != that.id) return false; + return nom.equals(that.nom); + } + + @Override + public int hashCode() { + int result = id; + result = 31 * result + nom.hashCode(); + return result; + } } diff --git a/src/main/java/fr/univ_amu/iut/model/Ressource.java b/src/main/java/fr/univ_amu/iut/model/Ressource.java index 3dfd19a..dd676c8 100644 --- a/src/main/java/fr/univ_amu/iut/model/Ressource.java +++ b/src/main/java/fr/univ_amu/iut/model/Ressource.java @@ -2,6 +2,7 @@ package fr.univ_amu.iut.model; import jakarta.persistence.*; +import java.io.Serializable; import java.net.MalformedURLException; import java.net.URL; @@ -10,7 +11,7 @@ import java.net.URL; @NamedQuery(name = "Ressource.findById", query = "SELECT p FROM Ressource p WHERE p.id = :id"), }) @Entity -public class Ressource { +public class Ressource implements Serializable { @Id @GeneratedValue int id; @@ -65,4 +66,19 @@ public class Ressource { ", lienRessource=" + lienRessource + '}'; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Ressource ressource = (Ressource) o; + + return id == ressource.id; + } + + @Override + public int hashCode() { + return id; + } } diff --git a/src/main/java/fr/univ_amu/iut/model/Thematique.java b/src/main/java/fr/univ_amu/iut/model/Thematique.java index 4fdf27b..f3e436b 100644 --- a/src/main/java/fr/univ_amu/iut/model/Thematique.java +++ b/src/main/java/fr/univ_amu/iut/model/Thematique.java @@ -2,13 +2,18 @@ package fr.univ_amu.iut.model; import jakarta.persistence.*; +import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; +@NamedQueries({ + @NamedQuery(name = "Thematique.findAll", query = "SELECT p FROM Thematique p"), + @NamedQuery(name = "Thematique.findById", query = "SELECT p FROM Thematique p WHERE p.id = :id"), +}) @Entity -public class Thematique { +public class Thematique implements Serializable { private final static List INSTANCES = new ArrayList<>(); @@ -88,4 +93,22 @@ public class Thematique { ", nom='" + nom + '\'' + '}'; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Thematique that = (Thematique) o; + + if (id != that.id) return false; + return nom.equals(that.nom); + } + + @Override + public int hashCode() { + int result = id; + result = 31 * result + nom.hashCode(); + return result; + } } diff --git a/src/main/java/fr/univ_amu/iut/model/Usage.java b/src/main/java/fr/univ_amu/iut/model/Usage.java index 9607fd0..0603988 100644 --- a/src/main/java/fr/univ_amu/iut/model/Usage.java +++ b/src/main/java/fr/univ_amu/iut/model/Usage.java @@ -2,17 +2,23 @@ package fr.univ_amu.iut.model; import jakarta.persistence.*; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @NamedQueries({ @NamedQuery(name = "Usage.findAll", query = "SELECT p FROM Usage p"), @NamedQuery(name = "Usage.findById", query = "SELECT p FROM Usage p WHERE p.id = :id"), + @NamedQuery(name = "Usage.findByName", query = "SELECT p FROM Usage p WHERE p.nom LIKE '%:id%'"), + @NamedQuery(name = "Usage.search", query = "SELECT p FROM Usage p WHERE" + + "(:thematique is null or :thematique=p.thematique)" + + "AND (:discipline is null or :discipline=p.discipline)"+ + "AND (:academie is null or :academie=p.academie)"), }) @Entity @Table(name="\"USAGE\"") -public class Usage { +public class Usage implements Serializable { @Id @GeneratedValue int id; @@ -132,4 +138,19 @@ public class Usage { ", commentaire='" + commentaire + '\'' + '}'; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Usage usage = (Usage) o; + + return id == usage.id; + } + + @Override + public int hashCode() { + return id; + } }