in torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerImpl.java [160:199]
public synchronized void revoke(Role role, Permission permission)
throws DataBackendException, UnknownEntityException {
boolean roleExists = getRoleManager().checkExists(role);
boolean permissionExists = getPermissionManager().checkExists(permission);
if (roleExists && permissionExists) {
((DynamicRole) role).removePermission(permission);
((DynamicPermission) permission).removeRole(role);
Connection con = null;
try {
con = Transaction.begin();
;
((TorqueAbstractSecurityEntity) role).update(con);
((TorqueAbstractSecurityEntity) permission).update(con);
Transaction.commit(con);
con = null;
} catch (TorqueException e) {
throw new DataBackendException(
"revoke('" + role.getName() + "', '" + permission.getName() + "') failed", e);
} finally {
if (con != null) {
Transaction.safeRollback(con);
}
}
return;
}
if (!roleExists) {
throw new UnknownEntityException("Unknown role '" + role.getName() + "'");
}
if (!permissionExists) {
throw new UnknownEntityException("Unknown permission '" + permission.getName() + "'");
}
}