public synchronized void revoke()

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() + "'");
        }
    }