package com.mossle.security.impl;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.mossle.security.spi.UserStatusDetails;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.User;
public class UserStatusDetailsImpl extends User implements UserStatusDetails {
private String id;
private String displayName;
private String tenantId;
private List<String> attributes = new ArrayList<String>();
private Map<String, Collection<String>> attributeMap = new HashMap<String, Collection<String>>();
public UserStatusDetailsImpl(String username, String password,
boolean enabled, Collection<GrantedAuthority> authSet) {
super(username, password, enabled, true, true, true, authSet);
}
public Collection<String> getAttributes() {
return attributes;
}
public Collection<String> getAttributes(String type) {
return attributeMap.get(type);
}
public void setAttributes(List<String> attributes) {
this.attributes = attributes;
for (String attribute : attributes) {
String[] array = attribute.split("_");
String type = array[0];
String value = array[1];
Collection<String> collection = attributeMap.get(type);
if (collection == null) {
collection = new ArrayList<String>();
attributeMap.put(type, collection);
}
collection.add(value);
}
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
}