in torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerImpl.java [213:249]
public synchronized void grant(User user, Group group) throws DataBackendException, UnknownEntityException {
boolean groupExists = getGroupManager().checkExists(group);
boolean userExists = getUserManager().checkExists(user);
if (groupExists && userExists) {
((DynamicUser) user).addGroup(group);
((DynamicGroup) group).addUser(user);
Connection con = null;
try {
con = Transaction.begin();
((TorqueAbstractSecurityEntity) user).update(con);
((TorqueAbstractSecurityEntity) group).update(con);
Transaction.commit(con);
con = null;
} catch (TorqueException e) {
throw new DataBackendException("grant('" + user.getName() + "', '" + group.getName() + "') failed", e);
} finally {
if (con != null) {
Transaction.safeRollback(con);
}
}
return;
}
if (!groupExists) {
throw new UnknownEntityException("Unknown group '" + group.getName() + "'");
}
if (!userExists) {
throw new UnknownEntityException("Unknown user '" + user.getName() + "'");
}
}