package org.jbehave.example.spring.security.domain; import java.io.Serializable; import java.util.Date; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.Table; import org.jbehave.example.spring.security.util.SecurityUtils; @Entity @Table(name = "APPLICATION_USER") public class User implements Serializable { private static final long serialVersionUID = 2216302982473702606L; @Id @GeneratedValue @Column(name = "USER_ID") private Long id; @ManyToOne(optional = false, cascade = CascadeType.ALL) private Organization organization; @Column(name = "USERNAME") private String username; @Column(name = "PASSWORD") private String password; @Column(name = "IS_ENABLED") private boolean enabled; @Column(name = "IS_EXPIRED") private boolean expired; @Column(name = "IS_FORCE_PWD_CHANGE") private boolean forcePasswordChange; @Column(name = "LOGIN_FAILURE_COUNT") private int loginFailureCount; @Column(name = "LAST_PWD_RESET_DATE") private Date lastPasswordResetDate; public User() { enabled = true; expired = false; forcePasswordChange = false; loginFailureCount = 0; lastPasswordResetDate = new Date(); } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Organization getOrganization() { return organization; } public void setOrganization(Organization organization) { this.organization = organization; } 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 void setPasswordCleartext(String passwordCleartext) { setPassword(SecurityUtils.encodePassword(passwordCleartext)); } public boolean isEnabled() { return enabled; } public void setEnabled(boolean enabled) { this.enabled = enabled; } public boolean isExpired() { return expired; } public void setExpired(boolean expired) { this.expired = expired; } public boolean isForcePasswordChange() { return forcePasswordChange; } public void setForcePasswordChange(boolean forcePasswordChange) { this.forcePasswordChange = forcePasswordChange; } public int getLoginFailureCount() { return loginFailureCount; } public void setLoginFailureCount(int loginFailureCount) { this.loginFailureCount = loginFailureCount; } public Date getLastPasswordResetDate() { return lastPasswordResetDate; } public void setLastPasswordResetDate(Date lastPasswordResetDate) { this.lastPasswordResetDate = lastPasswordResetDate; } }