// Path: modules/cloud-portal-server/src/main/java/de/papke/cloud/portal/pojo/ProvisionLog.java
// public class ProvisionLog {
// 
// 	@Id
// 	private String id;
// 	private Date date;
// 	private Date expirationDate;
// 	private String username;
// 	private String group;
// 	private String command;
// 	private String useCaseId;
// 	private String provider;
// 	private Boolean success;
// 	private Map<String, Object> variableMap;
// 	private byte[] privateKey;
// 	private byte[] result;
// 	
// 	public ProvisionLog() {}
// 	
// 	public ProvisionLog(Date date, Date expirationDate, String username, String group, String command, String useCaseId, String provider, Boolean success, Map<String, Object> variableMap, byte[] privateKey, byte[] result) {
// 		super();
// 		this.date = date;
// 		this.expirationDate = expirationDate;
// 		this.username = username;
// 		this.group = group;
// 		this.command = command;
// 		this.useCaseId = useCaseId;
// 		this.provider = provider;
// 		this.success = success;
// 		this.variableMap = variableMap;
// 		this.privateKey = privateKey;
// 		this.result = result;
// 	}
// 
// 	public String getId() {
// 		return id;
// 	}
// 
// 	public void setId(String id) {
// 		this.id = id;
// 	}
// 
// 	public Date getDate() {
// 		return date;
// 	}
// 	
// 	public void setDate(Date date) {
// 		this.date = date;
// 	}
// 	
// 	public Date getExpirationDate() {
// 		return expirationDate;
// 	}
// 
// 	public void setExpirationDate(Date expirationDate) {
// 		this.expirationDate = expirationDate;
// 	}
// 	
// 	public String getUsername() {
// 		return username;
// 	}
// 
// 	public void setUsername(String username) {
// 		this.username = username;
// 	}
// 	
// 	public String getGroup() {
// 		return group;
// 	}
// 
// 	public void setGroup(String group) {
// 		this.group = group;
// 	}
// 
// 	public String getCommand() {
// 		return command;
// 	}
// 
// 	public void setCommand(String command) {
// 		this.command = command;
// 	}
// 
// 	public String getUseCaseId() {
// 		return useCaseId;
// 	}
// 	
// 	public void setUseCaseId(String useCaseId) {
// 		this.useCaseId = useCaseId;
// 	}
// 	
// 	public String getProvider() {
// 		return provider;
// 	}
// 
// 	public void setProvider(String provider) {
// 		this.provider = provider;
// 	}
// 	
// 	public Boolean getSuccess() {
// 		return success;
// 	}
// 
// 	public void setSuccess(Boolean success) {
// 		this.success = success;
// 	}
// 	
// 	public Map<String, Object> getVariableMap() {
// 		return variableMap;
// 	}
// 
// 	public void setVariableMap(Map<String, Object> variableMap) {
// 		this.variableMap = variableMap;
// 	}
// 
// 	public byte[] getPrivateKey() {
// 		return privateKey;
// 	}
// 
// 	public void setPrivateKey(byte[] privateKey) {
// 		this.privateKey = privateKey;
// 	}
// 
// 	public byte[] getResult() {
// 		return result;
// 	}
// 
// 	public void setResult(byte[] result) {
// 		this.result = result;
// 	}
// }
// 
// Path: modules/cloud-portal-server/src/main/java/de/papke/cloud/portal/pojo/User.java
// public class User implements Serializable {
// 
// 	private static final long serialVersionUID = 1L;
// 	
// 	private String username;
// 	private String givenName;
// 	private String surName;
// 	private String email;
// 	private List<String> groups;
// 	private boolean admin;
// 	
// 	public User() {}
// 	
// 	public User(String username, String givenName, String surName, String email, List<String> groups, boolean admin) {
// 		super();
// 		this.givenName = givenName;
// 		this.surName = surName;
// 		this.username = username;
// 		this.email = email;
// 		this.groups = groups;
// 		this.admin = admin;
// 	}
// 	
// 	public String getUsername() {
// 		return username;
// 	}
// 	
// 	public void setUsername(String username) {
// 		this.username = username;
// 	}
// 	
// 	public String getGivenName() {
// 		return givenName;
// 	}
// 
// 	public void setGivenName(String givenName) {
// 		this.givenName = givenName;
// 	}
// 
// 	public String getSurName() {
// 		return surName;
// 	}
// 
// 	public void setSurName(String surName) {
// 		this.surName = surName;
// 	}
// 
// 	public String getEmail() {
// 		return email;
// 	}
// 	
// 	public void setEmail(String email) {
// 		this.email = email;
// 	}
// 	
// 	public List<String> getGroups() {
// 		return groups;
// 	}
// 	
// 	public void setGroups(List<String> groups) {
// 		this.groups = groups;
// 	}
// 
// 	public boolean isAdmin() {
// 		return admin;
// 	}
// 
// 	public void setAdmin(boolean admin) {
// 		this.admin = admin;
// 	}
// }


import java.util.ArrayList;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import de.papke.cloud.portal.pojo.ProvisionLog;
import de.papke.cloud.portal.pojo.User;
package de.papke.cloud.portal.service;





@Service
public class SessionUserService {
	
	private static final String SESSION_ATTRIBUTE_USER = "user";
// Path: modules/cloud-portal-server/src/main/java/de/papke/cloud/portal/pojo/ProvisionLog.java
// public class ProvisionLog {
// 
// 	@Id
// 	private String id;
// 	private Date date;
// 	private Date expirationDate;
// 	private String username;
// 	private String group;
// 	private String command;
// 	private String useCaseId;
// 	private String provider;
// 	private Boolean success;
// 	private Map<String, Object> variableMap;
// 	private byte[] privateKey;
// 	private byte[] result;
// 	
// 	public ProvisionLog() {}
// 	
// 	public ProvisionLog(Date date, Date expirationDate, String username, String group, String command, String useCaseId, String provider, Boolean success, Map<String, Object> variableMap, byte[] privateKey, byte[] result) {
// 		super();
// 		this.date = date;
// 		this.expirationDate = expirationDate;
// 		this.username = username;
// 		this.group = group;
// 		this.command = command;
// 		this.useCaseId = useCaseId;
// 		this.provider = provider;
// 		this.success = success;
// 		this.variableMap = variableMap;
// 		this.privateKey = privateKey;
// 		this.result = result;
// 	}
// 
// 	public String getId() {
// 		return id;
// 	}
// 
// 	public void setId(String id) {
// 		this.id = id;
// 	}
// 
// 	public Date getDate() {
// 		return date;
// 	}
// 	
// 	public void setDate(Date date) {
// 		this.date = date;
// 	}
// 	
// 	public Date getExpirationDate() {
// 		return expirationDate;
// 	}
// 
// 	public void setExpirationDate(Date expirationDate) {
// 		this.expirationDate = expirationDate;
// 	}
// 	
// 	public String getUsername() {
// 		return username;
// 	}
// 
// 	public void setUsername(String username) {
// 		this.username = username;
// 	}
// 	
// 	public String getGroup() {
// 		return group;
// 	}
// 
// 	public void setGroup(String group) {
// 		this.group = group;
// 	}
// 
// 	public String getCommand() {
// 		return command;
// 	}
// 
// 	public void setCommand(String command) {
// 		this.command = command;
// 	}
// 
// 	public String getUseCaseId() {
// 		return useCaseId;
// 	}
// 	
// 	public void setUseCaseId(String useCaseId) {
// 		this.useCaseId = useCaseId;
// 	}
// 	
// 	public String getProvider() {
// 		return provider;
// 	}
// 
// 	public void setProvider(String provider) {
// 		this.provider = provider;
// 	}
// 	
// 	public Boolean getSuccess() {
// 		return success;
// 	}
// 
// 	public void setSuccess(Boolean success) {
// 		this.success = success;
// 	}
// 	
// 	public Map<String, Object> getVariableMap() {
// 		return variableMap;
// 	}
// 
// 	public void setVariableMap(Map<String, Object> variableMap) {
// 		this.variableMap = variableMap;
// 	}
// 
// 	public byte[] getPrivateKey() {
// 		return privateKey;
// 	}
// 
// 	public void setPrivateKey(byte[] privateKey) {
// 		this.privateKey = privateKey;
// 	}
// 
// 	public byte[] getResult() {
// 		return result;
// 	}
// 
// 	public void setResult(byte[] result) {
// 		this.result = result;
// 	}
// }
// 
// Path: modules/cloud-portal-server/src/main/java/de/papke/cloud/portal/pojo/User.java
// public class User implements Serializable {
// 
// 	private static final long serialVersionUID = 1L;
// 	
// 	private String username;
// 	private String givenName;
// 	private String surName;
// 	private String email;
// 	private List<String> groups;
// 	private boolean admin;
// 	
// 	public User() {}
// 	
// 	public User(String username, String givenName, String surName, String email, List<String> groups, boolean admin) {
// 		super();
// 		this.givenName = givenName;
// 		this.surName = surName;
// 		this.username = username;
// 		this.email = email;
// 		this.groups = groups;
// 		this.admin = admin;
// 	}
// 	
// 	public String getUsername() {
// 		return username;
// 	}
// 	
// 	public void setUsername(String username) {
// 		this.username = username;
// 	}
// 	
// 	public String getGivenName() {
// 		return givenName;
// 	}
// 
// 	public void setGivenName(String givenName) {
// 		this.givenName = givenName;
// 	}
// 
// 	public String getSurName() {
// 		return surName;
// 	}
// 
// 	public void setSurName(String surName) {
// 		this.surName = surName;
// 	}
// 
// 	public String getEmail() {
// 		return email;
// 	}
// 	
// 	public void setEmail(String email) {
// 		this.email = email;
// 	}
// 	
// 	public List<String> getGroups() {
// 		return groups;
// 	}
// 	
// 	public void setGroups(List<String> groups) {
// 		this.groups = groups;
// 	}
// 
// 	public boolean isAdmin() {
// 		return admin;
// 	}
// 
// 	public void setAdmin(boolean admin) {
// 		this.admin = admin;
// 	}
// }


// Path: modules/cloud-portal-server/src/main/java/de/papke/cloud/portal/service/SessionUserService.java
import java.util.ArrayList;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import de.papke.cloud.portal.pojo.ProvisionLog;
import de.papke.cloud.portal.pojo.User;

package de.papke.cloud.portal.service;





@Service
public class SessionUserService {
	
	private static final String SESSION_ATTRIBUTE_USER = "user";
	private static final User DUMMY_USER = new User("anonymous", "Anonymous", "User", "dummy@dummy.com", new ArrayList<>(), false);