14 package cz.vutbr.fit.knot.annotations.entity;
17 import java.io.Serializable;
18 import java.util.ArrayList;
19 import java.util.Iterator;
20 import java.util.List;
21 import javax.persistence.Basic;
22 import javax.persistence.CascadeType;
23 import javax.persistence.Column;
24 import javax.persistence.Entity;
25 import javax.persistence.GeneratedValue;
26 import javax.persistence.GenerationType;
27 import javax.persistence.Id;
28 import javax.persistence.ManyToMany;
29 import javax.persistence.NamedQueries;
30 import javax.persistence.NamedQuery;
31 import javax.persistence.Table;
42 @NamedQuery(name =
"User.findAll", query =
"SELECT u FROM User u"),
43 @NamedQuery(name =
"User.findById", query =
"SELECT u FROM User u WHERE u.id = :id"),
44 @NamedQuery(name =
"User.findByLogin", query =
"SELECT u FROM User u WHERE u.login = :login"),
45 @NamedQuery(name =
"User.findByName", query =
"SELECT u FROM User u WHERE u.name = :name"),
46 @NamedQuery(name =
"User.findByEmail", query =
"SELECT u FROM User u WHERE u.email = :email"),
47 @NamedQuery(name =
"User.findByNameAndEmail", query =
"SELECT u FROM User u WHERE u.name = :name AND u.email = :email"),
48 @NamedQuery(name =
"User.findByCredentials", query =
"SELECT u FROM User u WHERE u.login = :login AND u.password = :password"),
49 @NamedQuery(name =
"User.findByLoginAndSystem", query =
"SELECT u FROM User u WHERE u.login = :login AND u.comeFrom = :comeFrom"),
50 @NamedQuery(name =
"User.findByEmailAndPassword", query =
"SELECT u FROM User u WHERE u.email = :email AND u.password = :password")})
51 public class User implements Serializable {
52 private static final long serialVersionUID = 1L;
55 @GeneratedValue(strategy = GenerationType.IDENTITY)
56 @Basic(optional =
false)
60 @Basic(optional = false)
61 @Column(name = "login")
64 @Basic(optional = true)
65 @Column(name = "name")
68 @Basic(optional = false)
69 @Column(name = "email")
72 @Basic(optional = false)
73 @Column(name = "password")
74 private String password;
76 @Basic(optional = true)
77 @Column(name = "comeFrom")
78 private String comeFrom;
80 @Basic(optional = true)
81 @Column(name = "imageURI")
85 @ManyToMany(mappedBy="users", cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
86 public List<UserGroup> groups;
112 public User(String login, String name, String email, String password) {
116 this.password = password;
128 public User(Integer
id, String login, String name, String email, String password) {
133 this.password = password;
169 this.groups = groups;
178 return new ArrayList<UserGroup>(groups);
187 this.groups = groups;
196 this.groups.add(group);
268 this.password = password;
286 this.comeFrom = comeFrom;
295 return AppBean.getBaseAuthorUri() +
id;
304 return AppBean.getBaseUserUriV2() +
id;
328 hash += (
id != null ? id.hashCode() : 0);
341 if (!(
object instanceof
User)) {
344 User other = (User)
object;
345 if ((this.
id == null && other.
id != null) || (this.id != null && !this.id.equals(other.id))) {
353 return "cz.vutbr.fit.knot.annotations.entity.User[id=" +
id +
"]";
362 return "<person id=\"" + getURI() +
"\" login=\"" + login +
"\" name=\"" + name +
"\" email=\"" + email +
"\" photoURI=\"\"/>";
371 return "<user uri=\"" + getURIV2() +
"\" login=\"" + login +
"\" name=\"" + name +
"\" email=\"" + email +
"\" photoURI=\"\"/>";
381 retStr =
"<person id=\"" + getURI() +
"\" login=\"" + login +
"\" name=\"" + name +
"\" email=\"" + email +
"\" photoURI=\"\">";
382 retStr = retStr +
"<userGroups>";
383 Iterator<UserGroup> grIt = groups.iterator();
384 while (grIt.hasNext()) {
386 retStr = retStr + ug.toXMLString();
388 retStr = retStr +
"</userGroups>";
389 retStr = retStr +
"</person>";
User(String login, String name, String email, String password)
void setLogin(String login)
Singleton for storing global variables.
void setEmail(String email)
ArrayList< UserGroup > getGroupsAL()
Class representing user group.
void addGroup(UserGroup group)
void setImage(String image)
List< UserGroup > getGroups()
User(Integer id, String login, String name, String email, String password)
void setGroups(ArrayList< UserGroup > groups)
boolean equals(Object object)
void setPassword(String password)
void setGroups(List< UserGroup > groups)
void setName(String name)
void setComeFrom(String comeFrom)