in hibernate/src/java/org/apache/fulcrum/security/hibernate/dynamic/HibernateModelManagerImpl.java [229:270]
public synchronized void revoke(User user, Group group) throws DataBackendException, UnknownEntityException
{
boolean groupExists = false;
boolean userExists = false;
Transaction transaction = null;
try
{
groupExists = getGroupManager().checkExists(group);
userExists = getUserManager().checkExists(user);
if (groupExists && userExists)
{
Session session = getPersistenceHelper().retrieveSession();
transaction = session.beginTransaction();
((DynamicUser) user).removeGroup(group);
((DynamicGroup) group).removeUser(user);
session.update(user);
session.update(group);
transaction.commit();
transaction = null;
}
}
catch (DataBackendException e)
{
throw new DataBackendException("grant(Role,Permission) failed", e);
}
finally
{
if (transaction != null)
{
transaction.rollback();
}
}
if (!groupExists)
{
throw new UnknownEntityException("Unknown group '" + group.getName() + "'");
}
if (!userExists)
{
throw new UnknownEntityException("Unknown user '" + user.getName() + "'");
}
}