package com.megatim.fdxconsultation.model.administration.security; import com.megatim.fdxconsultation.model.administration.Role; import com.megatim.fdxcommons.model.enumeration.EtatOperation; import com.megatim.fdxcommons.model.enumeration.TypeOperation; import com.megatim.fdxconsultation.model.administration.Action; import com.mgt.rs.security.core.ifaces.ActionRsSecurity; import com.mgt.rs.security.core.ifaces.RoleRsSecurity; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; /** * * @author DYNABOOK */ public class RoleSecurity implements Comparable, Serializable, RoleRsSecurity { private Long id; protected String idGenerer; private String libelle; private String description; private TypeOperation typeOperation = TypeOperation.AJOUTER; private EtatOperation etatOperation; private List actions = new ArrayList(); private Date dateCreation; private String utilisateurCreation; private Date dateDerniereModification; private String utilisateurModification; private Date dateSuppression; private String utilisateurSuppression; private Boolean admin = false; private Boolean superAdmin = false; private Boolean megaAdmin = false; public RoleSecurity() { } public RoleSecurity(Role role) { admin = role.getAdmin(); superAdmin = role.getSuperAdmin(); megaAdmin = role.getMegaAdmin(); //On parcourt lrs roles for(Action action : role.getActions()){ actions.add(new ActionSecurity(action)); } } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getLibelle() { return libelle; } public void setLibelle(String libelle) { this.libelle = libelle; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public TypeOperation getTypeOperation() { return typeOperation; } public void setTypeOperation(TypeOperation typeOperation) { this.typeOperation = typeOperation; } public String getIdGenerer() { return idGenerer; } public void setIdGenerer(String idGenerer) { this.idGenerer = idGenerer; } public void setActions(List actions) { this.actions = actions; } public Date getDateCreation() { return dateCreation; } public void setDateCreation(Date dateCreation) { this.dateCreation = dateCreation; } public String getUtilisateurCreation() { return utilisateurCreation; } public void setUtilisateurCreation(String utilisateurCreation) { this.utilisateurCreation = utilisateurCreation; } public Date getDateDerniereModification() { return dateDerniereModification; } public void setDateDerniereModification(Date dateDerniereModification) { this.dateDerniereModification = dateDerniereModification; } public String getUtilisateurModification() { return utilisateurModification; } public void setUtilisateurModification(String utilisateurModification) { this.utilisateurModification = utilisateurModification; } public Date getDateSuppression() { return dateSuppression; } public void setDateSuppression(Date dateSuppression) { this.dateSuppression = dateSuppression; } public String getUtilisateurSuppression() { return utilisateurSuppression; } public void setUtilisateurSuppression(String utilisateurSuppression) { this.utilisateurSuppression = utilisateurSuppression; } public EtatOperation getEtatOperation() { return etatOperation; } public void setEtatOperation(EtatOperation etatOperation) { this.etatOperation = etatOperation; } /*public List getUsers() { return users; } public void setUsers(List users) { this.users = users; }*/ public boolean isAdmin() { return admin; } public void setAdmin(boolean admin) { this.admin = admin; } public boolean isSuperAdmin() { return superAdmin; } public void setSuperAdmin(boolean superAdmin) { this.superAdmin = superAdmin; } public boolean isMegaAdmin() { return megaAdmin; } public void setMegaAdmin(boolean meegaAdmin) { this.megaAdmin = meegaAdmin; } @Override public List getActions() { return actions; } @Override public int hashCode() { int hash = 7; hash = 79 * hash + Objects.hashCode(this.id); 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 RoleSecurity other = (RoleSecurity) obj; return Objects.equals(this.id, other.id); } /* * (non-Javadoc) * @see java.lang.Comparable#compareTo(java.lang.Object) */ @Override public int compareTo(RoleSecurity parameter) { // Si le parametre est null if (parameter == null) { return -1; } // Si le code du parametre est vide if (parameter.libelle == null || parameter.libelle.trim().length() == 0) { return -1; } // Si le code du parametre en cours est vide if (libelle == null || libelle.trim().length() == 0) { return 1; } // On retourne la comparaison des codes return libelle.compareTo(parameter.libelle); } }