package org.ovirt.engine.core.dal.dbbroker; import javax.persistence.AttributeOverride; import javax.persistence.AttributeOverrides; import javax.persistence.Column; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.Table; import org.hibernate.annotations.TypeDef; import org.ovirt.engine.core.common.businessentities.mapping.GuidType; import org.ovirt.engine.core.compat.Guid; @Entity @Table(name = "user_sessions") @TypeDef(name = "guid", typeClass = GuidType.class) public class user_sessions { @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((browser == null) ? 0 : browser.hashCode()); result = prime * result + ((clientType == null) ? 0 : clientType.hashCode()); result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((loginTime == null) ? 0 : loginTime.hashCode()); result = prime * result + ((os == null) ? 0 : os.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; user_sessions other = (user_sessions) obj; if (browser == null) { if (other.browser != null) return false; } else if (!browser.equals(other.browser)) return false; if (clientType == null) { if (other.clientType != null) return false; } else if (!clientType.equals(other.clientType)) return false; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; if (loginTime == null) { if (other.loginTime != null) return false; } else if (loginTime != null && other.loginTime == null) return false; else if (loginTime != null && other.loginTime != null) { // TODO remvoe this when moving to Hibernate long thisLoginTimeNoMillis = loginTime.getTime(); thisLoginTimeNoMillis -= thisLoginTimeNoMillis % 1000l; long thatLoginTimeNoMillis = other.loginTime.getTime(); thatLoginTimeNoMillis -= thatLoginTimeNoMillis % 1000l; if (thisLoginTimeNoMillis != thatLoginTimeNoMillis) return false; } if (os == null) { if (other.os != null) return false; } else if (!os.equals(other.os)) return false; return true; } @EmbeddedId @AttributeOverrides({ @AttributeOverride(name = "userId", column = @Column(name = "user_id")), @AttributeOverride(name = "sessionId", column = @Column(name = "session_id")) }) private user_sessions_id id = new user_sessions_id(); public user_sessions() { } public user_sessions(String browser, String client_type, java.util.Date login_time, String os, String session_id, Guid user_id) { this.browser = browser; this.clientType = client_type; this.loginTime = login_time; this.os = os; this.id.sessionId = session_id; this.id.userId = user_id; } @Column(name = "browser", length = 10) private String browser; public String getbrowser() { return this.browser; } public void setbrowser(String value) { this.browser = value; } @Column(name = "client_type", length = 10) private String clientType; public String getclient_type() { return this.clientType; } public void setclient_type(String value) { this.clientType = value; } @Column(name = "login_time") private java.util.Date loginTime; public java.util.Date getlogin_time() { return this.loginTime; } public void setlogin_time(java.util.Date value) { this.loginTime = value; } @Column(name = "os", length = 10) private String os; public String getos() { return this.os; } public void setos(String value) { this.os = value; } public String getsession_id() { return this.id.sessionId; } public void setsession_id(String value) { this.id.sessionId = value; } public Guid getuser_id() { return this.id.userId; } public void setuser_id(Guid value) { this.id.userId = value; } }