in torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerImpl.java [359:396]
public synchronized void addDelegate(User delegator, User delegatee)
throws DataBackendException, UnknownEntityException {
boolean delegatorExists = getUserManager().checkExists(delegator);
boolean delegateeExists = getUserManager().checkExists(delegatee);
if (delegatorExists && delegateeExists) {
super.addDelegate(delegator, delegatee);
Connection con = null;
try {
con = Transaction.begin();
((TorqueAbstractSecurityEntity) delegator).update(con);
((TorqueAbstractSecurityEntity) delegatee).update(con);
Transaction.commit(con);
con = null;
} catch (TorqueException e) {
throw new DataBackendException(
"addDelegate('" + delegator.getName() + "', '" + delegatee.getName() + "') failed", e);
} finally {
if (con != null) {
Transaction.safeRollback(con);
}
}
return;
}
if (!delegatorExists) {
throw new UnknownEntityException("Unknown user '" + delegator.getName() + "'");
}
if (!delegateeExists) {
throw new UnknownEntityException("Unknown user '" + delegatee.getName() + "'");
}
}