in memory/src/java/org/apache/fulcrum/security/memory/dynamic/MemoryModelManagerImpl.java [180:202]
public synchronized void grant(Role role, Permission permission)
throws DataBackendException, UnknownEntityException {
boolean roleExists = false;
boolean permissionExists = false;
try {
roleExists = getRoleManager().checkExists(role);
permissionExists = getPermissionManager().checkExists(permission);
if (roleExists && permissionExists) {
((DynamicRole) role).addPermission(permission);
((DynamicPermission) permission).addRole(role);
return;
}
} catch (Exception e) {
throw new DataBackendException("grant(Role,Permission) failed", e);
}
if (!roleExists) {
throw new UnknownEntityException("Unknown role '" + role.getName() + "'");
}
if (!permissionExists) {
throw new UnknownEntityException("Unknown permission '" + permission.getName() + "'");
}
}