package org.ovirt.engine.core.common.businessentities;
import java.util.Date;
import java.util.Objects;
import org.ovirt.engine.core.compat.Guid;
public class UserSession implements IVdcQueryable {
private long id;
private String userName;
private Guid userId;
private String sourceIp;
private String authzName;
private Date sessionStartTime;
private Date sessionLastActiveTime;
public UserSession(EngineSession engineSession) {
Objects.requireNonNull(engineSession, "engineSession cannot be null");
id = engineSession.getId();
userName = engineSession.getUserName();
userId = engineSession.getUserId();
sourceIp = engineSession.getSourceIp();
authzName = engineSession.getAuthzName();
sessionStartTime = engineSession.getStartTime();
sessionLastActiveTime = engineSession.getLastActiveTime();
}
private UserSession() {
}
public long getId() {
return id;
}
@Override
public Object getQueryableId() {
return getId();
}
public Guid getUserId() {
return userId;
}
public String getUserName() {
return userName;
}
public String getSourceIp() {
return sourceIp;
}
public String getAuthzName() {
return authzName;
}
public Date getSessionStartTime() {
return sessionStartTime;
}
public Date getSessionLastActiveTime() {
return sessionLastActiveTime;
}
@Override
public int hashCode() {
return Objects.hash(id);
}
@Override
public boolean equals(Object other) {
if (this == other) {
return true;
}
if (other == null || getClass() != other.getClass()) {
return false;
}
final UserSession that = (UserSession) other;
return Objects.equals(this.id, that.id);
}
}