package net.curisit.securis.db; import java.io.Serializable; import java.util.Date; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import org.codehaus.jackson.annotate.JsonAutoDetect; import org.codehaus.jackson.annotate.JsonProperty; import org.codehaus.jackson.map.annotate.JsonSerialize; /** * Entity implementation class for Entity: Users * */ @JsonAutoDetect @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) @Entity @Table(name = "user") @NamedQueries( { @NamedQuery(name = "list-users", query = "SELECT u FROM User u"), @NamedQuery(name = "get-user", query = "SELECT u FROM User u where u.username = :username"), @NamedQuery(name = "auth-user", query = "SELECT u FROM User u where u.username = :username and u.password = :password"), @NamedQuery(name = "delete-all-users", query = "delete FROM User u") }) public class User implements Serializable { private static final long serialVersionUID = 1L; @Id private String username; private String password; @JsonProperty(value = "short_name") @Column(name = "short_name") private String shortName; private int roles; @JsonProperty(value = "full_name") @Column(name = "full_name") private String fullName; @JsonProperty(value = "last_login") @Column(name = "last_login") private Date lastLogin; @Column(name = "modification_timestamp") private Date modificationTimestamp; @Column(name = "creation_timestamp") private Date creationTimestamp; private String lang; @ManyToMany @JoinTable(name = "user_organization", // joinColumns = { @JoinColumn(name = "user_id", referencedColumnName = "username") }, // inverseJoinColumns = { @JoinColumn(name = "organization_id", referencedColumnName = "id") } // ) private List organizations; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getRoles() { return roles; } public void setRoles(int roles) { this.roles = roles; } public String getFullName() { return fullName; } public void setFullName(String fullName) { this.fullName = fullName; } public String getShortName() { return shortName; } public void setShortName(String shortName) { this.shortName = shortName; } public Date getLastLogin() { return lastLogin; } public void setLastLogin(Date lastLogin) { this.lastLogin = lastLogin; } public Date getModificationTimestamp() { return modificationTimestamp; } public void setModificationTimestamp(Date modificationTimestamp) { this.modificationTimestamp = modificationTimestamp; } public Date getCreationTimestamp() { return creationTimestamp; } public void setCreationTimestamp(Date creationTimestamp) { this.creationTimestamp = creationTimestamp; } @Override public String toString() { return "{User: " + username + " Full Name: " + fullName + ", last login: " + lastLogin + "}"; } public String getLang() { return lang; } public void setLang(String lang) { this.lang = lang; } public List getOrganizations() { return organizations; } public void setOrganizations(List organizations) { this.organizations = organizations; } static public class Rol { static public final int ADVANCE = 0x01; static public final int ADMIN = 0x02; } }