Commit 35d72c82 by Juho Juopperi

* Default user creation backend

* Unique login name field
1 parent 2a7c9cde
...@@ -12,6 +12,8 @@ import fi.insomnia.bortal.model.User; ...@@ -12,6 +12,8 @@ import fi.insomnia.bortal.model.User;
@LocalBean @LocalBean
public class UserFacade extends GenericFacade<User> { public class UserFacade extends GenericFacade<User> {
public static final String DEFAULT_USER_LOGIN = "default";
@PersistenceContext @PersistenceContext
private EntityManager em; private EntityManager em;
...@@ -24,9 +26,26 @@ public class UserFacade extends GenericFacade<User> { ...@@ -24,9 +26,26 @@ public class UserFacade extends GenericFacade<User> {
} }
public User findByLogin(String login) { public User findByLogin(String login) {
TypedQuery<User> q = em.createNamedQuery("User.findByLogin",User.class); TypedQuery<User> q = em.createNamedQuery("User.findByLogin", User.class);
q.setParameter("login", login); q.setParameter("login", login);
return q.getSingleResult(); return q.getSingleResult();
} }
public User getDefaultUser() {
User defaultUser = findByLogin(DEFAULT_USER_LOGIN);
// Create if doesn't exist yet
if (defaultUser == null)
defaultUser = createDefaultUser();
return defaultUser;
}
private User createDefaultUser() {
User user = new User();
user.setLogin(DEFAULT_USER_LOGIN);
em.persist(user);
return user;
}
} }
...@@ -45,7 +45,7 @@ import javax.persistence.Version; ...@@ -45,7 +45,7 @@ import javax.persistence.Version;
@NamedQuery(name = "User.findByPhone", query = "SELECT u FROM User u WHERE u.phone = :phone"), @NamedQuery(name = "User.findByPhone", query = "SELECT u FROM User u WHERE u.phone = :phone"),
@NamedQuery(name = "User.findByFemale", query = "SELECT u FROM User u WHERE u.female = :female"), @NamedQuery(name = "User.findByFemale", query = "SELECT u FROM User u WHERE u.female = :female"),
@NamedQuery(name = "User.findByLogin", query = "SELECT u FROM User u WHERE u.login = :login") }) @NamedQuery(name = "User.findByLogin", query = "SELECT u FROM User u WHERE u.login = :login") })
public class User implements ModelInterface<Integer>{ public class User implements ModelInterface<Integer> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -98,12 +98,12 @@ public class User implements ModelInterface<Integer>{ ...@@ -98,12 +98,12 @@ public class User implements ModelInterface<Integer>{
@Column(name = "female") @Column(name = "female")
private Boolean female; private Boolean female;
@Column(name = "login") @Column(name = "login", unique = true)
private String login; private String login;
@Column(name = "confirm_hash") @Column(name = "confirm_hash")
private String confirmHash; private String confirmHash;
@Column(name = "confirm_time") @Column(name = "confirm_time")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
private Calendar confirmTime; private Calendar confirmTime;
...@@ -157,7 +157,6 @@ public class User implements ModelInterface<Integer>{ ...@@ -157,7 +157,6 @@ public class User implements ModelInterface<Integer>{
@Column(nullable = false) @Column(nullable = false)
private int jpaVersionField; private int jpaVersionField;
@OneToMany(mappedBy = "admin") @OneToMany(mappedBy = "admin")
private List<EventSettings> eventSettings; private List<EventSettings> eventSettings;
...@@ -487,7 +486,8 @@ public class User implements ModelInterface<Integer>{ ...@@ -487,7 +486,8 @@ public class User implements ModelInterface<Integer>{
} }
/** /**
* @param confirmHash the confirmHash to set * @param confirmHash
* the confirmHash to set
*/ */
public void setConfirmHash(String confirmHash) { public void setConfirmHash(String confirmHash) {
this.confirmHash = confirmHash; this.confirmHash = confirmHash;
...@@ -501,7 +501,8 @@ public class User implements ModelInterface<Integer>{ ...@@ -501,7 +501,8 @@ public class User implements ModelInterface<Integer>{
} }
/** /**
* @param confirmTime the confirmTime to set * @param confirmTime
* the confirmTime to set
*/ */
public void setConfirmTime(Calendar confirmTime) { public void setConfirmTime(Calendar confirmTime) {
this.confirmTime = confirmTime; this.confirmTime = confirmTime;
...@@ -515,13 +516,13 @@ public class User implements ModelInterface<Integer>{ ...@@ -515,13 +516,13 @@ public class User implements ModelInterface<Integer>{
} }
/** /**
* @param eventSettings the eventSettings to set * @param eventSettings
* the eventSettings to set
*/ */
public void setEventSettings(List<EventSettings> eventSettings) { public void setEventSettings(List<EventSettings> eventSettings) {
this.eventSettings = eventSettings; this.eventSettings = eventSettings;
} }
public static String hashPassword(String plainPassword) { public static String hashPassword(String plainPassword) {
throw new UnsupportedOperationException("TÄLLE EI SAA TEHDÄ TESTIMETODIA, KOSKA SE KUITENKIN UNOGTUU TÄNNE"); throw new UnsupportedOperationException("TÄLLE EI SAA TEHDÄ TESTIMETODIA, KOSKA SE KUITENKIN UNOGTUU TÄNNE");
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!