Refacto Lombok pour Personne et optimisation du POM

This commit is contained in:
vincentRamiere 2025-07-05 11:47:39 +02:00
parent 8975984b2a
commit 237c8bcf66
3 changed files with 45 additions and 111 deletions

11
pom.xml
View file

@ -70,12 +70,6 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.12.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.38</version>
@ -89,6 +83,11 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.5</version>
</plugin>
</plugins>
</build>

View file

@ -4,121 +4,43 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.ElementCollection;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Personne {
private int id;
private String nom;
private String prenom;
private String email;
private String password;
private Collection<Preference> preference = new ArrayList<>();
private List<EnumRole> roleList;
public Personne() {
super();
}
public Personne(String nom, String prenom, String email, String password, List<EnumRole> roleList) {
super();
this.nom = nom;
this.prenom = prenom;
this.email = email;
this.password = password;
this.roleList = roleList;
}
public Personne(String email, String password, List<EnumRole> roleList) {
super();
this.email = email;
this.password = password;
this.roleList = roleList;
}
public Personne(String nom, String prenom, String email, String password) {
super();
this.nom = nom;
this.prenom = prenom;
this.email = email;
this.password = password;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_personne")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
private int id;
@Column(nullable = false)
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
private String nom;
@Column(nullable = false)
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
private String prenom;
@Column(nullable = false)
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
private String email;
@Column(nullable = false)
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private String password;
@OneToMany(mappedBy = "preferencePK.personne", cascade = CascadeType.REMOVE)
//@JsonIgnore
public Collection<Preference> getPreference() {
return preference;
}
public void setPreference(Collection<Preference> preference) {
this.preference = preference;
}
@Builder.Default
private Collection<Preference> preference = new ArrayList<>();
@ElementCollection(fetch = FetchType.EAGER)
@Enumerated(EnumType.STRING)
public List<EnumRole> getRoleList() {
return roleList;
}
public void setRoleList(List<EnumRole> roleList) {
this.roleList = roleList;
}
private List<EnumRole> roleList;
}

View file

@ -0,0 +1,13 @@
package fr.vincent.ramiere.mangerautourdesimplonback.models;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
class PersonneTest {
@Test
void testBuilder() {
Personne p = Personne.builder().nom("Test").prenom("Test").email("t@t.fr").password("1234").build();
assertEquals("Test", p.getNom());
}
}