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;
@LocalBean
public class UserFacade extends GenericFacade<User> {
public static final String DEFAULT_USER_LOGIN = "default";
@PersistenceContext
private EntityManager em;
......@@ -24,9 +26,26 @@ public class UserFacade extends GenericFacade<User> {
}
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);
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;
@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.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;
......@@ -98,12 +98,12 @@ public class User implements ModelInterface<Integer>{
@Column(name = "female")
private Boolean female;
@Column(name = "login")
@Column(name = "login", unique = true)
private String login;
@Column(name = "confirm_hash")
private String confirmHash;
@Column(name = "confirm_time")
@Temporal(TemporalType.TIMESTAMP)
private Calendar confirmTime;
......@@ -157,7 +157,6 @@ public class User implements ModelInterface<Integer>{
@Column(nullable = false)
private int jpaVersionField;
@OneToMany(mappedBy = "admin")
private List<EventSettings> eventSettings;
......@@ -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) {
this.confirmHash = confirmHash;
......@@ -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) {
this.confirmTime = confirmTime;
......@@ -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) {
this.eventSettings = eventSettings;
}
public static String hashPassword(String plainPassword) {
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!