Skip to content
Snippets Groups Projects
Commit 3b89556b authored by sveseli's avatar sveseli
Browse files

added base api classes

parent 1e3b2597
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
package gov.anl.aps.dm.api;
import gov.anl.aps.dm.common.constants.DmRole;
import gov.anl.aps.dm.common.exceptions.InvalidSession;
import java.io.Serializable;
import java.net.HttpCookie;
/**
* DM session class, used for keeping all session-related information (session
* id, username, role, etc.).
*/
public class DmSession implements Serializable {
private static final long serialVersionUID = 1L;
private String id = null;
private String username = null;
private String cookie = null;
private DmRole role = null;
public DmSession() {
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCookie() {
return cookie;
}
public void setCookie(String cookie) {
this.cookie = cookie;
}
public String verifyCookie() throws InvalidSession {
if (cookie == null) {
throw new InvalidSession("Valid session has not been established.");
} else {
HttpCookie httpCookie = HttpCookie.parse(cookie).get(0);
if (httpCookie.hasExpired()) {
throw new InvalidSession("Session id " + id + " has expired.");
}
}
return cookie;
}
public DmRole getRole() {
return role;
}
public void setRole(DmRole role) {
this.role = role;
}
public boolean isAdminRole() {
if (role != null) {
return role.equals(DmRole.ADMIN);
}
return false;
}
public boolean isUserRole() {
if (role != null) {
return role.equals(DmRole.USER);
}
return false;
}
@Override
public String toString() {
String result = "{ ";
String delimiter = "";
if (username != null) {
result += "username :" + username;
delimiter = "; ";
}
if (id != null) {
result += delimiter + "id : " + id;
delimiter = "; ";
}
if (cookie != null) {
result += delimiter + "cookie : " + cookie;
}
result += " }";
return result;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment