in hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java [159:199]
public void grant(User user, Group group, Role role) throws DataBackendException, UnknownEntityException
{
boolean roleExists = false;
boolean userExists = false;
boolean groupExists = false;
try
{
roleExists = getRoleManager().checkExists(role);
userExists = getUserManager().checkExists(user);
groupExists = getGroupManager().checkExists(group);
if (roleExists && groupExists && userExists)
{
TurbineUserGroupRole ugr = new TurbineUserGroupRole();
ugr.setGroup(group);
ugr.setRole(role);
ugr.setUser(user);
((TurbineUser) user).addUserGroupRole(ugr);
((TurbineGroup) group).addUserGroupRole(ugr);
((TurbineRole) role).addUserGroupRole(ugr);
getPersistenceHelper().updateEntity(user);
getPersistenceHelper().updateEntity(group);
getPersistenceHelper().updateEntity(role);
}
}
catch (DataBackendException e)
{
throw new DataBackendException("grant(User,Group,Role) failed", e);
}
if (!roleExists)
{
throw new UnknownEntityException("Unknown role '" + role.getName() + "'");
}
if (!groupExists)
{
throw new UnknownEntityException("Unknown group '" + group.getName() + "'");
}
if (!userExists)
{
throw new UnknownEntityException("Unknown user '" + user.getName() + "'");
}
}