package org.jboss.resteasy.keystone.model;
import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
*/
public class StoredProject implements Serializable
{
private Project project;
private Map<String, Set<String>> userRoles = new HashMap<String, Set<String>>();
private Map<String, String> userNameIds = new HashMap<String, String>();
public StoredProject()
{
}
public StoredProject(Project project)
{
this.project = project;
}
public Project getProject()
{
return project;
}
public void setProject(Project project)
{
this.project = project;
}
public Map<String, Set<String>> getUserRoles()
{
return userRoles;
}
public void setUserRoles(Map<String, Set<String>> userRoles)
{
this.userRoles = userRoles;
}
public Set<String> roleMapping(String userId)
{
return userRoles.get(userId);
}
public void addUserRoleMapping(User user, Role role)
{
userNameIds.put(user.getUsername(), user.getId());
Set<String> roleMapping = userRoles.get(user.getId());
if (roleMapping == null)
{
roleMapping = new HashSet<String>();
userRoles.put(user.getId(), roleMapping);
}
roleMapping.add(role.getId());
}
public void removeUserRoleMapping(User user, Role role)
{
userNameIds.put(user.getUsername(), user.getId());
Set<String> roleMapping = userRoles.get(user.getId());
if (roleMapping == null) return;
roleMapping.remove(role.getId());
if (roleMapping.size() < 1)
{
userRoles.remove(user.getId());
userNameIds.remove(user.getUsername());
}
roleMapping.add(role.getId());
}
public Map<String, String> getUserNameIds()
{
return userNameIds;
}
public void setUserNameIds(Map<String, String> userNameIds)
{
this.userNameIds = userNameIds;
}
}