package com.megatim.apifdxweb.model.administration;
|
|
import com.megatim.fdxcommons.model.enumeration.EtatOperation;
|
import com.megatim.fdxcommons.model.enumeration.TypeOperation;
|
import com.megatim.fdxcommons.model.referentiel.Participant;
|
import java.io.Serializable;
|
import java.util.Date;
|
import java.util.Objects;
|
import javax.persistence.Column;
|
import javax.persistence.Entity;
|
import javax.persistence.EnumType;
|
import javax.persistence.Enumerated;
|
import javax.persistence.GeneratedValue;
|
import javax.persistence.GenerationType;
|
import javax.persistence.Id;
|
import javax.persistence.JoinColumn;
|
import javax.persistence.ManyToOne;
|
import javax.persistence.SequenceGenerator;
|
import javax.persistence.Table;
|
import javax.persistence.Temporal;
|
import javax.persistence.TemporalType;
|
import javax.persistence.Transient;
|
import lombok.Getter;
|
import lombok.Setter;
|
|
/**
|
*
|
* @author DYNABOOK
|
*/
|
@Getter
|
@Setter
|
@Entity(name = "User")
|
@Table(name = "FDX_USER")
|
public class User implements Comparable<User>, Serializable {
|
|
public User() {
|
}
|
|
@SequenceGenerator(name = "SEQ_USER",
|
sequenceName = "SEQ_USER",
|
allocationSize = 1,
|
initialValue = 1)
|
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_USER")
|
@Column(name = "ID")
|
@Id
|
private Long id;
|
|
@Column(name = "ID_GENERER")
|
protected String idGenerer;
|
|
@Column(name = "TYPE_OPERATION")
|
private TypeOperation typeOperation = TypeOperation.AJOUTER;
|
|
@Column(name = "username")
|
private String userName;
|
|
@Column(name = "firstname")
|
private String firstName;
|
|
@Column(name = "lastname")
|
private String lastName;
|
|
@Column(name = "MOTIF_REJET")
|
private String motifRejet;
|
|
@Column(name = "expirationdelay")
|
private int expirationDelay;
|
|
@Column(name = "alertdelay")
|
private int alertDelay;
|
|
@Column(name = "attempsnumber")
|
private int attempsNumber;
|
|
@Column(name = "attemps")
|
private int attemps;
|
|
@Column(name = "locked")
|
private boolean locked;
|
|
@Column(name = "active")
|
private boolean active;
|
|
@Column(name = "editpassword")
|
private boolean editPassword;
|
|
@Column(name = "connected")
|
private boolean connected;
|
|
@Transient
|
private boolean updatePassword;
|
|
@Column(name = "lastconnexiondatetime")
|
@Temporal(TemporalType.TIMESTAMP)
|
private Date lastConnexionDateTime;
|
|
@Column(name = "pwd")
|
private String pwd;
|
|
@Transient
|
private String pwdConfirm;
|
|
@Column(name = "ETAT_OPERATION")
|
@Enumerated(EnumType.STRING)
|
private EtatOperation etatOperation = EtatOperation.ATTENTE_VALIDATION;
|
|
@Column(name = "DATE_CREATION")
|
@Temporal(TemporalType.TIMESTAMP)
|
private Date dateCreation;
|
|
@Column(name = "USER_CREATION")
|
private String utilisateurCreation;
|
|
@Column(name = "DATE_DERN_MOD")
|
@Temporal(TemporalType.TIMESTAMP)
|
private Date dateDerniereModification;
|
|
@Column(name = "USER_UPDATE")
|
private String utilisateurModification;
|
|
@Column(name = "DATE_SUPPR")
|
@Temporal(TemporalType.TIMESTAMP)
|
private Date dateSuppression;
|
|
@Column(name = "USER_DELETE")
|
private String utilisateurSuppression;
|
|
@ManyToOne
|
@JoinColumn(name = "ROLE")
|
private Role role;
|
|
@ManyToOne
|
@JoinColumn(name = "participant_code")
|
private Participant participant;
|
|
@Override
|
public int hashCode() {
|
int hash = 7;
|
hash = 79 * hash + Objects.hashCode(this.userName);
|
return hash;
|
}
|
|
@Override
|
public boolean equals(Object obj) {
|
if (this == obj) {
|
return true;
|
}
|
if (obj == null) {
|
return false;
|
}
|
if (getClass() != obj.getClass()) {
|
return false;
|
}
|
final User other = (User) obj;
|
return Objects.equals(this.userName, other.userName);
|
}
|
|
/*
|
* (non-Javadoc)
|
* @see java.lang.Comparable#compareTo(java.lang.Object)
|
*/
|
@Override
|
public int compareTo(User parameter) {
|
if (parameter == null) {
|
return -1;
|
}
|
|
// Si le code du parametre est vide
|
if (parameter.userName == null || parameter.userName.trim().length() == 0) {
|
return -1;
|
}
|
|
// Si le code du parametre en cours est vide
|
if (userName == null || userName.trim().length() == 0) {
|
return 1;
|
}
|
|
// On retourne la comparaison des codes
|
return userName.compareTo(parameter.userName);
|
}
|
|
@Override
|
public String toString() {
|
|
//Variables
|
String variable = "";
|
|
if (this.lastName != null) {
|
variable = variable + this.lastName;
|
}
|
|
if (this.firstName != null) {
|
variable = variable + " " + this.firstName;
|
}
|
|
if (this.userName != null) {
|
variable = variable + " (" + this.userName + ")";
|
}
|
|
return variable;
|
}
|
}
|