/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package qa.qcri.aidr.predictui.entities; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; //import org.codehaus.jackson.annotate.JsonIgnore; import org.codehaus.jackson.annotate.JsonIgnoreProperties; //import org.codehaus.jackson.annotate.JsonManagedReference; import qa.qcri.aidr.dbmanager.dto.UsersDTO; import com.fasterxml.jackson.annotation.JsonIgnore; //import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonManagedReference; /** * * @author Imran */ @XmlRootElement @JsonIgnoreProperties(ignoreUnknown=true) public class Users implements Serializable { private static final long serialVersionUID = 1L; @XmlElement private Integer userID; @XmlElement private String name; @XmlElement private String role; @JsonManagedReference private Collection<Crisis> crisisCollection; @JsonManagedReference private Collection<NominalAttribute> nominalAttributeCollection; public Users() { } public Users(Integer userID) { this.userID = userID; } public Users(Integer userID, String name, String role) { this.userID = userID; this.name = name; this.role = role; } public Integer getUserID() { return userID; } public void setUserID(Integer userID) { this.userID = userID; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getRole() { return role; } public void setRole(String role) { this.role = role; } @XmlTransient @JsonIgnore public Collection<Crisis> getCrisisCollection() { return crisisCollection; } public void setCrisisCollection(Collection<Crisis> crisisCollection) { this.crisisCollection = crisisCollection; } @XmlTransient @JsonIgnore public Collection<NominalAttribute> getNominalAttributeCollection() { return nominalAttributeCollection; } public void setNominalAttributeCollection(Collection<NominalAttribute> nominalAttributeCollection) { this.nominalAttributeCollection = nominalAttributeCollection; } @Override public int hashCode() { int hash = 0; hash += (userID != null ? userID.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Users)) { return false; } Users other = (Users) object; if ((this.userID == null && other.userID != null) || (this.userID != null && !this.userID.equals(other.userID))) { return false; } return true; } @Override public String toString() { return "qa.qcri.aidr.predictui.entities.Users[ userID=" + userID + " ]"; } public static Users toLocalUsers(UsersDTO userDTO) { Users user = new Users(userDTO.getUserID().intValue(), userDTO.getName(), userDTO.getRole()); return user; } public static UsersDTO toTaskManagerUsersDTO(Users user) { Long userID = user.getUserID().longValue(); UsersDTO userDTO = new UsersDTO(userID, user.getName(), user.getRole()); return userDTO; } public static qa.qcri.aidr.dbmanager.entities.misc.Users toTaskManagerUsers(Users user) { Long userID = user.getUserID().longValue(); qa.qcri.aidr.dbmanager.entities.misc.Users u = new qa.qcri.aidr.dbmanager.entities.misc.Users(); u.setUserName(user.getName()); u.setId(userID); return u; } public static List<Users> toLocalUsersList(List<UsersDTO> list) { if (list != null) { List<Users> usersList = new ArrayList<Users>(); for (UsersDTO u: list) { usersList.add(toLocalUsers(u)); } return usersList; } return null; } public static List<UsersDTO> toTaskManagerUsersDTOList(List<Users> list) { if (list != null) { List<UsersDTO> usersDTOList = new ArrayList<UsersDTO>(); for (Users u: list) { usersDTOList.add(toTaskManagerUsersDTO(u)); } return usersDTOList; } return null; } public static List<qa.qcri.aidr.dbmanager.entities.misc.Users> toTaskManagerUsersList(List<Users> list) { if (list != null) { List<qa.qcri.aidr.dbmanager.entities.misc.Users> usersList = new ArrayList<qa.qcri.aidr.dbmanager.entities.misc.Users>(); for (Users u: list) { usersList.add(toTaskManagerUsers(u)); } return usersList; } return null; } }